Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署相关的知识,希望对你有一定的参考价值。
LNMP架构介绍:
Linux+Apache+mysql/MariaDB+Perl/php/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以上的访问流量是LAMP来提供的。
一、nginx简介:
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。
*Nginx 作为 负载均衡 服务器:*
Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。 Nginx 采用 C 进行编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好很多。作为邮件代理服务器:
Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。Nginx 是一个安装非常简单,配置文件非常简洁(还能够支持perl语法), Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动。 你还能够不间断服务的情况下进行软件版本的升级。
*二、Nginx 安装*
模块依赖性Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ )
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ )
3. ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ )
Nginx包下载: http://nginx.org/en/download.html
依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包。
第一步: 下载安装所需包
openssl-fips-2.0.2.tar.gz
zlib-1.2.7.tar.gz
pcre-8.21.tar.gz
nginx-1.2.6.tar.gz
第二步:依次安装openssl-fips-2.0.2.tar.gz, zlib-1.2.7.tar.gz, pcre-8.21.tar.gz, nginx-1.2.6.tar.gz
1.安装openssl-fips-2.0.2.tar.gz
[[email protected] mrms]# tar -zxvf openssl-fips-2.0.2.tar.gz
[[email protected] mrms]# cd openssl-fips-2.0.2
[[email protected] openssl-fips-2.0.2]# ./config
[[email protected] openssl-fips-2.0.2]# make
[[email protected] openssl-fips-2.0.2]# make install
2.安装zlib-1.2.7.tar.gz
[[email protected] mrms]# tar -zxvf zlib-1.2.7.tar.gz
[[email protected] mrms]# cd zlib-1.2.7
[[email protected] zlib-1.2.7]# ./configure
[[email protected] zlib-1.2.7]# make
[[email protected] zlib-1.2.7]# make install
3.安装pcre-8.21.tar.gz
[[email protected] mrms]# tar -zxvf pcre-8.21.tar.gz
[[email protected] mrms]# cd pcre-8.21
[[email protected] pcre-8.21]# ./configure
[[email protected] pcre-8.21]# make
[[email protected] pcre-8.21]# make install
4.安装 nginx-1.2.6.tar.gz
[[email protected] mrms]# tar -zxvf nginx-1.2.6.tar.gz
[[email protected] mrms]# cd nginx-1.2.6
[[email protected] nginx-1.2.6]# ./configure --with-pcre=../pcre-8.21 --with-zlib=../zlib-1.2.7 --with-openssl=../openssl-fips-2.0.2
[[email protected] nginx-1.2.6]# make
[[email protected] nginx-1.2.6]# make install
至此Nginx的安装完成!
第三步:检测是否安装成功
[[email protected] nginx-1.2.6]# cd /usr/local/nginx/sbin
[[email protected] sbin]# ./nginx -t
启动nginx
[[email protected] sbin]# ./nginx
查看端口
[[email protected] sbin]# netstat -anple | grep 80
## 安装PHP
一、PHP简介:
脚本语言,网站建设,服务器端运行PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于 Open Source(开放源代码)的尤其适合 Web 开发并可以嵌入 HTML 的多用途脚本语言。它的语法接近 C,Java 和 Perl,而且容易学习。该语言让 Web 开发人员快速的书写动态生成的网页。
二、安装:
2.1 php下载连接:http://www.php.net/downloads.php
2.2 下载解压
3.1 wget http://cn2.php.net/get/php-7.2.6.tar.bz2/from/this/mirror
3.2 tar xf php-7.2.6.tar.bz2
3.3 cd php-7.2.6
2.3 配置
#./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip
注:./configure 过程中会出现很多问题,根据报错信息百度相关资料进行解决。这里不再说明,在后面的问题和解答段落列出部分问题和解决方式,仅供参考!
如果需要GD库还要
./configure --prefix=/usr/local/php --with-mysql --enable-fpm--enable-opcache --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --with-zlib --with-libxml-dir --enable-xml --disable-debug --enable-safe-mode --enable-mbstring
如果配置错误,需要安装需要的模块,直接yum一并安装依赖库
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
三、配置成功:
出现上图说明配置成功~
四、 make && make install
到此处则编译完成!
五、后续工作
5.1 cp -R ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf
5.2 拷贝php.ini文件
安装目录有2个文件:php.ini-development和php.ini-production
注意php.ini-production拥有较高的安全性设定,则适合上线当产品使用
cp php.ini-development /usr/local/php/lib/php.ini
或者
cp php.ini-production /usr/local/php/lib/php.ini
如果操作了这一步以后使用phpinfo()就会看到Loaded Configuration File:
5.3 cd /usr/local/php/etc/php-fpm.d ; cp www.conf.default www.conf
六、php-fpm启动
cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
/etc/init.d/php-fpm
至此php环境搭建完成,php-fpm 进行也启动完成。下一步要将 nginx + php 通过php-fpm进行整合,用于解释php页面。
七、Nginx + php 结合
编辑nginx.conf文件
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
} #将 scripts 修改成对应的发布目录即可,并在对应发布目录下面创建index.php文件
/usr/local/nginx/sbin/nginx -t ; /usr/local/nginx/sbin/nginx -s reload
重启nginx ,进行测试 curl localhost/index.php -I
Mysql 数据库安装
问题和解决:
1、编译安装php遇到的问题和解决方法:
https://www.cnblogs.com/z-ping/archive/2012/06/18/2553929.html
2、问题:在启动php-fpm出现
[[email protected] etc]# service php-fpm start
Starting php-fpm [28-Nov-2016 17:13:23] WARNING: Nothing matches the include pattern ‘/usr/local/php/etc/php-fpm.d/*.conf’ from /usr/local/php/etc/php-fpm.conf at line 125.
[28-Nov-2016 17:13:23] ERROR: No pool defined. at least one pool section must be specified in config file
[28-Nov-2016 17:13:23] ERROR: failed to post process the configuration
[28-Nov-2016 17:13:23] ERROR: FPM initialization failed
解决方法:
进入PHP安装目录/etc/php-fpm.d
cp www.conf.default www.conf
3、
以上是关于Centos 6.6 下 nginx +php mysql + phpMyadmin 安装部署的主要内容,如果未能解决你的问题,请参考以下文章
nginx+php7+mysql 在centos7.3下安装