加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

lnmp环境配置之安装配置Nginx与PHP教程步骤

发布时间:2022-06-20 13:48:43 所属栏目:教程 来源:互联网
导读:lnmp环境中nginx与php是一个重头戏了,很多朋友在配置这一步时都要折腾很多,在此小编也同样是折腾了,下面我整理了一篇lnmp环境中安装配置Nginx与PHP教程,希望例子可以帮助到大家. 安装Nginx的方式有很多种,这里我们还是编译源码进行安装,使用下列命令: $ wget
  lnmp环境中nginx与php是一个重头戏了,很多朋友在配置这一步时都要折腾很多,在此小编也同样是折腾了,下面我整理了一篇lnmp环境中安装配置Nginx与PHP教程,希望例子可以帮助到大家.
 
  安装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=<path> 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;
    #    }  //phpfensi.com
    #}
  
    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。

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读