ssplyh 发表于 2018-12-17 06:29:54

linux上nginx的安装启动以及配合php-fpm的使用

  nginx的牛逼之处就不用多说了,反正一个字:牛逼!
  我很早之前在csdn上也写过一篇在Windows上安装nginx的文章,之前对它也是一知半解,也属于摸着石头过河吧,今天来看一下linux上的安装以及搭配php的使用。
  我的机器是centos 6.2 。 php 版本是 5.4.11
安装nginx
  如果软件下载失败或者被墙,可以下载我备份的云盘:
  http://yunpan.cn/cZ2QJMSKVGsdU (提取码:06ec)
安装nginx的依赖包
  nginx 依赖于 zlib pcre ssl 三个模块,安装之前要先安装它们,如果已经安装则忽略,我的机器其实在安装php的时候这些模块其实是有安装的,下面,我再来一次:
  用源码方式安装:
  这3个扩展 不需要指定安装目录,他们都默认安装在 /usr/local 目录下。
  第一步,我将源代码统一下载到 /lamp 之下,基本上下载的都是最新版。openssl那个一定要下载最新版,以为之前的那个心跳漏洞。

[*]  cd /lamp
[*]
[*]  wget http://zlib.net/zlib-1.2.8.tar.gz
[*]  tar -zxvf zlib-1.2.7.tar.gz
[*]  cd zlib-1.2.7
[*]  ./configure
[*]  make
[*]  make install
[*]
[*]
[*]  wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz
[*]  tar -zxvf pcre-8.21.tar.gz
[*]  cd pcre-8.21
[*]  ./configure
[*]  make
[*]  make install
[*]
[*]
[*]  wget http://www.openssl.org/source/openssl-1.0.2.tar.gz
[*]  tar zxvf openssl-1.0.2.tar.gz
[*]  cd openssl-1.0.2.tar.gz
[*]  ./config# 注意是config,不是configure
[*]  make
[*]  make install
  好,如果没什么错误的话,3个扩展都已经安装好了,如果出现错误信息,基本都会有提示,我安装下载很顺利,没啥问题。
安装nginx
  我同样也是下载的官网目前为止的最新版:nginx-1.7.10
wget http://nginx.org/download/nginx-1.7.10.tar.gztar -zxvf nginx-1.7.10.tar.gzcd nginx-1.7.10.tar.gz  下载解压完成,下面就是编译了:
./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/nginx/nginx \--conf-path=/usr/local/nginx/nginx.conf \--pid-path=/usr/local/nginx/nginx.pid \--with-http_ssl_module \--with-pcre=/lamp/pcre-8.32 \--with-zlib=/lamp/zlib-1.2.7 \--with-openssl=/lamp/openssl-1.0.2  注意:这3个扩展的目录是他们的源代码目录,不是安装目录,这点很容易搞错。
  --with-pcre=/lamp/pcre-8.32 \
  --with-zlib=/lamp/zlib-1.2.7 \
  --with-openssl=/lamp/openssl-1.0.2
  开始编译:
make ... make install  一般这3个扩展目录指定正确,是不会报错的,很顺利的就成功了。
启动 nginx
  nginx的默认端口是80。所以启动之前要确保80端口没有被占用,如果之前安装过Apache, 它也是80端口,那么需要kill掉Apache,
  如果想保留80端口,也可以修改/usr/local/nginx/nginx.conf中36行 listen 为 8080或其他;
  我这里改成8080端口
  启动命令是:
  /usr/local/nginx/nginx
  不报错就ok了:
  查看下端口:
netstat -tnl|grep 8080tcp      0      0 0.0.0.0:8080      0.0.0.0:*       LISTEN  然后,我们打开浏览器访问下:
  localhost:8080
  出现以下,表示nginx 安装成功。
  Welcome to nginx!
  If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
  For online documentation and support please refer to nginx.org.
  Commercial support is available at nginx.com.
  Thank you for using nginx.
配置nginx以支持php
  之前我们将了很多关于php-fpm的,现在php安装php-fpm其实就是为了配合nginx使用的。
  所以,我们需要编辑nginx的配置文件,我们编译的时候指定了的:/usr/local/nginx/nginx.conf
  打开后,编辑以下几行,我简单的标记了一下:
43         location / {  
44             root   /usr/local/www;   #web的根目录
  
45             indexindex.php index.html index.htm; # 加入index.php
  
46         }
  

  

  
65         location ~ \.php$ {
  
66             root         /usr/local/www;          #web的根目录
  
67             fastcgi_pass   127.0.0.1:9000;          #php-fpm的地址
  
68             fastcgi_indexindex.php;
  
70             include      fastcgi.conf;
  
71         }
  简单的这样改一下,满足基本的php需求就可以了。下面我们重新启动一下nginx:
  有2中方式,第1种是先kill,再启动。第2种是平滑启动,推荐第2种

[*]  # ps -ef|grep nginx
[*]  root   31660   10 17:15 ?      00:00:00 nginx: master process ./nginx
[*]  nobody   31954 316600 17:52 ?      00:00:00 nginx: worker process
[*]  root   31968 154190 17:52 pts/3    00:00:00 grep nginx
[*]
[*]  kill 31660
[*]
[*]  /usr/local/nginx/nginx
  或者平滑升级,推荐这个

  /usr/local/nginx/nginx -s>  我们刚才把web目录改成 /usr/local/www 目录下,我们在下面新建一个index.php文件:

[*]  vi /usr/local/www/index.php
[*]
[*]  
页: [1]
查看完整版本: linux上nginx的安装启动以及配合php-fpm的使用