您的位置:首页 > 运维架构 > Nginx

Nginx安装及nginx+php环境的搭建

2017-07-16 12:51 567 查看
1.Nginx安装
在RedHat系Linux上,可以使用yum或源码安装nginx。yum安装linux直接通过yum intall nginx即可。如下是以源码的方式安装nginx的步骤:
(1)在pcre官网上下载pcre-8.38的PCRE,并解压,不用安装啊,nginx使用--with-pcre=path可以静态编译pcre
(2)在nginx官网上下载nginx-1.9.15版本的nginx,并解压,然后
./configure--prefix=/home/local/nginx-1.9.15--with-http_ssl_module --with-http_stub_status_module --with-pcre=/home/src/pcre-8.38/
make && make install

备注:with-pcre选项后接的是pcre解压目录,没有安装的目录。当然也可以先单独地安装pcre工具。
(3)配置nginx
conf/nginx.conf是nginx的主配置文件,我们可以在这个下面进行一些个性化的配置。
(4)启动Nginx
cd ${NGINX_HOME}/ && sbin/nginx来启动nginx
备注:
sbin/nginx              #直接启动nginx
sbin/nginx -c filename  #指定nginx启动时加载的配置文件,默认是conf/nginx.conf
sbin/nginx -s signal    #向nginx的master进程发送一个信号,信号有stop(关闭主进程)、quit(优雅的关闭nginx,保持现有的客户端连接,处理完后,退出nginx进程)、reopen、reload(触发nginx重新加载配置)
sbin/nginx -t           #用来测试nginx的配置文件是否正确,并不会真正启动nginx进程的哦
sbin/nginx -V           #查看nginx的版本,以及configure中编译参数哦

(5)测试
在浏览器输入:http://hz01-cm-bsidx00.hz01.baidu.com:8099/



2.nginx的模块选择性安装
(1)官方模块的选择安装
在安装Nginx时,会使用./configure工具来生成编译文件,可以通过./configure的参数来决定安装哪些官方支持的模块:
./configure --with-XXX     —— 安装XXX模块,默认不会安装的模块
./configure --without-XXX  —— 不安装XXX模块,默认会安装的模块

(2)第三方模块
可以通过./configure --add-module=${MODULE_PATH}来把指定路径下的第三方模块编译链接到Nginx中来。

3.PHP+Nginx环境安装与配置
这里使用的PHP+Nginx的方案是,Nginx通过FastCGI协议连接php的FastCGI进程管理器(这里用到的php
FastCGI管理是PHP字典的PHP-FPM),值得注意的是,Nginx不支持CGI协议。具体配置过程如下:
(1)安装php,编译参数如下:
./configure --prefix=/home/local/php --enable-fpm  #注意不要加上--with-apxs2

经过编译安装之后,php-fpm的bin文件在/home/local/php/sbin/php-fpm,配置文件在/home/local/php/etc/php-fpm.conf和被包含配置文件/home/local/php/etc/php-fpm.d/www.conf。注意php-fpm.conf和php-fpm.d/www.conf都是由默认的*.conf.default重命名过来的。
(2)配置php-fpm并启动php-fpm
在www.conf配置了php-fpm绑定的ip和port等信息,我们可以对这些信息进行定制化。然后cd
/home/local/php/ && sbin/php-fpm来启动php-fpm服务器。此后php-fpm开始监听指定的端口,等待web服务器的连接请求。
这里配置php-fpm的监听的端口是本机的9000端口。
(3)安装nginx并配置nginx并启动nginx
安装过程同上,安装完成之后,需要在的server配置中添加如下配置:
location ~ \.php$ {
root           html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}

然后启动nginx
备注:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;这句配置是向FastCGI进程管理器传递一个SCRIPT_FILENAME的参数,参数的值就是浏览器请求的php脚本的路径。当PHP-FPM收到nginx的请求后,就会让php-fpm的php解释器子进程去执行该脚本文件,然后将执行结果返回给Nginx服务器。
(4)编写php FastCGI脚本
在Nginx安装主目录下的html中新建一个test.php,内容如下:
<?php
phpinfo();
?>

(5)测试
在浏览器中输入:http://wahaha-test:8092/test.php(这里假设nginx配置的监听端口是8092)
备注:其实我们可以将phpMyAdmin的目录,直接放到nginx的安装目录下html目录下,然后通过http://wahaha-test:8092/phpMyAdmin/访问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐