lnmp环境配置之安装包_lnmp环境配置之安装配置Nginx与PHP教程

更新时间:2019-09-03    来源:nginx    手机版     字体:

【www.bbyears.com--nginx】

安装Nginx的方式有很多种,这里我们还是编译源码进行安装,使用下列命令:

$ wget http://nginx.org/download/nginx-1.6.2.tar.gz
$ tar -zxvf nginx-1.6.2.tar.gz
$ cd nginx-1.6.2
$ ./configure --prefix=/usr/local/nginx
$ make
$ sudo make install

如果安装过程中出现如下错误

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre= option.

则需要先安装pcre

$ sudo yum install pcre-devel

安装完成之后,我们的Nginx安装目录在/usr/local/nginx。 接下来修改nginx的配置文件(/usr/local/nginx/conf/nginx.conf),使其能够处理php脚本。

worker_processes  1;

events {
  worker_connections  1024;
}
http {
  include       mime.types;
  default_type  application/octet-stream;
  sendfile        on;
  keepalive_timeout  65;
  server {
    listen       80;
    server_name  _;
    root /vagrant;

    location / {
      index  index.html index.htm index.php;
    }

    location /demo {
      index index.php;
      if (!-e $request_filename) {
          rewrite ^/demo/(.*)$ /demo/index.php?$1 last;
          break;
      }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }

    location ~ \.php$ {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
    }
  }
}

最后,启动Nginx时,需要先启动PHP-FPM。

$ sudo /usr/local/php/sbin/php-fpm
$ sudo /usr/local/nginx/sbin/nginx

对于Nginx的重启以及关闭操作,可以使用以下命令

$ sudo /usr/local/nginx/sbin/nginx -s [reload|restart|stop]

而PHP-FPM,则麻烦一点,需要先使用ps -ef|grep php-fpm获取master process的进程ID, 再使用kill -USR2:
$ ps -ef|grep php-fpm

root      6221     1  0 02:17 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
nobody    6222  6221  0 02:17 ?        00:00:00 php-fpm: pool www
nobody    6223  6221  0 02:17 ?        00:00:00 php-fpm: pool www
vagrant   6233  1623  0 02:18 pts/0    00:00:00 grep php-fpm

$ sudo kill -USR2 6221

注意: -USR2参数为重启,-INT参数为关闭。


创建虚拟主机
 

[root@os11728 httpd-2.2.22]# vi /usr/local/nginx/conf/vhosts/www_finet230_cn.conf

内容如下:

  server {

        listen       8080;

        server_name  ng.fine230.cn finet85.cn;

 

         root  /var/www/root/ng_finet230_cn;

 

    #激活/关闭自动索引

       autoindex on;

 

        #设定索引时文件大小的单位(B,KB, MB 或 GB)

       #默认为on,显示出文件的确切大小,单位是bytes。

       #改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

       autoindex_exact_size off;

 

        #开启以本地时间来显示文件时间的功能。默认为关(GMT时间)

       #默认为off,显示的文件时间为GMT时间。

       #改为on后,显示的文件时间为文件的服务器时间

       autoindex_localtime on;

 

        #charset koi8-r;

 

        location / {

            index  index.html index.htm index.php;

        }

 

        #error_page  404              /404.html;

 

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root  /var/www/root/ng_finet230_cn;

        }

 

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ \.php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

 

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

 

        # deny access to .htaccess files, if Apache’s document root

        # concurs with nginx’s one

        #

        #location ~ /\.ht {

        #    deny  all;

        #}

 

        #将客户端的请求转交给fastcgi

        location ~ .*\.(php|php5|shtml)?$ {

            #root           html;

            fastcgi_pass   127.0.0.1:9000;#这里指定了fastcgi进程侦听的端口,nginx就是通过这里与php交互的

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

 

       #网站的图片较多,更改较少,将它们在浏览器本地缓存30天

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

       {

         expires      30d;

       }

 

       #网站会加载很多JS、CSS,将它们在浏览器本地缓存1小时

       location ~ .*\.(js|css)?$

       {

         expires      1h;

       }

 

    }

 

 

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #    listen       8000;

    #    listen       somename:8080;

    #    server_name  somename  alias  another.alias;

 

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

 

 

    # HTTPS server

    #

    #server {

    #    listen       443;

    #    server_name  localhost;

 

    #    ssl                  on;

    #    ssl_certificate      cert.pem;

    #    ssl_certificate_key  cert.key;

 

    #    ssl_session_timeout  5m;

 

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;

    #    ssl_prefer_server_ciphers   on;

 

    #    location / {

    #        root   html;

    #        index  index.html index.htm;

    #    }

    #}

 

    server

    {

      listen  8080;

      server_name  status.ng.finet230.cn;

 

      location / {

        stub_status on;

        access_log   off;

      }

    }

 将/var/www/root/ng_finet230_cn目录下的所有档案与子目录的拥有者皆设为www群体的使用者www :

 [root@os11728 ~]# chown -R www:www /var/www/root/ng_finet230_cn
 

 1.5.  Nginx的启动与关闭

启动Nginx

 [root@os11728 ~]# ulimit -SHn 65535
[root@os11728 ~]# /usr/local/nginx/sbin/nginx

 停止Nginx

 [root@os11728 ~]# /usr/local/nginx/sbin/nginx -s stop

[root@os11728 ~]# /usr/local/nginx/sbin/nginx -s quit

 

重启Nginx

[root@os11728 ~]# /usr/local/nginx/sbin/nginx -s reload

[root@os11728 ~]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

 配置开机自动启动Nginx + PHP

 代码如下

[root@os11728 ~]# vi /etc/rc.local

在末尾增加以下内容:

ulimit -SHn 65535
/usr/local/php/sbin/php-fpm

/usr/local/nginx/sbin/nginx

本文来源:http://www.bbyears.com/caozuoxitong/66006.html