亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

nginx下部署php項(xiàng)目的方法:1、安裝完畢nginx和php-fpm;2、找到nginx服務(wù)器的配置文件;3、指定php項(xiàng)目的部署位置;4、把配置好的各種server conf放在sites-enabled里即可。


Nginx下怎么部署php項(xiàng)目


nginx服務(wù)器上部署php項(xiàng)目

nginx本身不能處理PHP頁(yè)面,它只是個(gè)web服務(wù)器,當(dāng)接收到請(qǐng)求后,如果是PHP請(qǐng)求,通過(guò)反向代理的方式轉(zhuǎn)發(fā)給PHP解釋器處理,并把結(jié)果返回給客戶端。因此需要在服務(wù)器上安裝nginx和php-fpm或其他php解釋器。

安裝完畢nginx和php-fpm后,找到nginx服務(wù)器的配置文件

[root@test24266conf]# ps -ef | grep nginx.conf
root     31441    1  0  2018 ?       00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c/usr/local/nginx/conf/nginx.conf

在這個(gè)文件中,指定php項(xiàng)目的部署位置,即修改server字段下root 指定的文件根目錄。

很多發(fā)型版本,在nginx.conf并沒(méi)有server字段,這是為了管理方便,某些發(fā)行版的預(yù)編譯版本里,nginx.conf 中 http 段最后會(huì)有兩句 include conf.d/*.conf; include sites-enabled/*或只有一條include

sites-enabled/*.conf; 這樣你就可以把已經(jīng)配置好的各種 server conf 放在sites-enabled 里,如

[root@test24266conf]# ll sites-enabled/
-rw-r--r--1 root root 603 103 2017 captcha443.conf
-rw-r--r--1 root root 287 9 1 2017 commrisk.conf
-rw-r--r--1 root root 194 129 2016 imagerotate.conf
-rw-r--r--1 root root 402 9 2 2016 msgqapi.conf
-rw-r--r--1 root root 295 102 2017 pointriskapi.conf
-rw-r--r--1 root root 290 6 2 2017 risktrade.conf
-rw-r--r--1 root root 309 814 2017 rotateapi.conf
-rw-r--r--1 root root 313 100 2016 watchdog.conf
[root@test24266conf]#
       這樣每個(gè).conf文件就可以對(duì)應(yīng)一個(gè)虛擬主機(jī),查看某個(gè)配置文件,如
[root@test24266conf]# cat sites-enabled/pointriskapi.conf
server{
    listen     8013;
    server_name     point.risk.api;
    index index.php;               #默認(rèn)訪問(wèn)的文件
    root       /var/www/pointriskapi/hosts;
    access_log on;
#當(dāng)請(qǐng)求網(wǎng)站下php文件的時(shí)候,反向代理到php-fpm
location ~ .*\.php?$ {
        include fastcgi.conf;
    }
  
    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
  
}
[root@test24266conf]#

我們將php項(xiàng)目文件放入這個(gè)/var/www/pointriskapi/hosts路徑下,如

[root@test24266hosts]# ll
  
 -rw-r--r-- 1 apache apache 339 102 2017risk_point.php
[root@test24266hosts]# pwd
/var/www/pointriskapi/hosts

一般不需要重啟Nginx和php-fpm。現(xiàn)在在客戶端就可以訪問(wèn)http://ip:8013/risk_point.php了。

那么nginx是怎么通過(guò)反向代理的方式將請(qǐng)求轉(zhuǎn)發(fā)給PHP解釋器呢?我們注意到server字段中有一段

location ~ .*\.php?$ {
   include fastcgi.conf;          #加載nginx的fastcgi模塊
}

該段指明了.php文件由誰(shuí)處理。我們查看nginx.conf同級(jí)目錄下的factcgi.conf文件,如

[root@test24266 conf]# cat fastcgi.conf
fastcgi_pass  127.0.0.1:9000;
#fastcgi_pass  unix:/tmp/phpcgi.socket;
fastcgi_indexindex.php;
  
access_log  /var/log/httpd/access_log main;
  
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
  
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;
  
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
  
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
  
# PHPonly, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
[root@test24266conf]#

Fastcgi_pass指明了fastcgi進(jìn)程監(jiān)聽(tīng)的IP地址和端口,即nginx會(huì)將請(qǐng)求轉(zhuǎn)發(fā)給這個(gè)socket。因此我們需要在php-fpm的配置文件中指明同樣的socket。啟動(dòng)Php-fpm監(jiān)聽(tīng),查看

[root@test24266~]# netstat -anp | grep 9000
tcp        0     0 127.0.0.1:9000             0.0.0.0:*                  LISTEN      3719/php-fpm

總結(jié)一下在nginx與php-fpm模式下,完整的請(qǐng)求和應(yīng)答流程是這樣的:

1、客戶端請(qǐng)求服務(wù)器上某個(gè).php文件

2、Nginx發(fā)現(xiàn)是動(dòng)態(tài)資源需要路由到指定根目錄下

3、加載nginx的fast-cgi模塊

4、Fact-cgi監(jiān)聽(tīng)127.0.0.1:9000(默認(rèn)socket)

5、php-fpm接收到請(qǐng)求,啟用worker進(jìn)程處理請(qǐng)求

6、php-fpm處理完請(qǐng)求,返回給nginx

7、nginx將結(jié)果通過(guò)http返回給瀏覽器


分享到:
標(biāo)簽:Nginx部署php php項(xiàng)目
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定