您好,登錄后才能下訂單哦!
小編給大家分享一下php nginx如何安裝及配置,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
php nginx安裝配置的方法:首先找到Nginx的配置文件;然后在vim中點擊“i”進入編輯模式;接著使用FastCGI協議默認配置;最后重啟Nginx服務即可。
在學習搭建LNMP環境的過程中初識Nginx(讀法:engine x),感覺完全復制粘貼網上的安裝配置方法沒有什么意義,就打算展開學習一下。
關于Windows下Nginx的安裝和配置:Windows下的Nginx安裝與配置(PHP)
Nginx:俄羅斯工程師Igor Sysoev
開發,高性能的HTTP/反向代理/郵件服務器。
在CentOS下安裝:
#使用yum安裝,-y表示對所有的提問都回答“yes”,install為安裝指令yum -y install nginx
Nginx的配置文件默認位置為:/etc/nginx/nginx.conf
如果說找不到可以搜索一下:
#locate 搜索文件的位置locate nginx.conf
如上圖,在我的環境中nginx.conf在/etc/nginx/nginx.conf
使用vim打開文件nginx.conf
vim /etc/nginx/nginx.conf
nginx.conf內容如下(只截取了沒被注掉的部分):
# nginx運行的用戶名user nginx;# nginx啟動進程,通常設置成和cpu的數量相等,這里為自動worker_processes auto;# errorlog文件位置error_log /var/log/nginx/error.log;# pid文件地址,記錄了nginx的pid,方便進程管理pid /run/nginx.pid;# Load dynamic modules. See /usr/share/nginx/README.dynamic.# 用來加載其他動態模塊的配置include /usr/share/nginx/modules/*.conf;# 工作模式和連接數上限events { # 每個worker_processes的最大并發鏈接數 # 并發總數:worker_processes*worker_connections worker_connections 1024; }# 與提供http服務相關的一些配置參數類似的還有mailhttp { # 設置日志的格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # access_log記錄訪問的用戶、頁面、瀏覽器、ip和其他的訪問信息 access_log /var/log/nginx/access.log main; # 這部分下面會單獨解釋 # 設置nginx是否使用sendfile函數輸出文件 sendfile on; # 數據包最大時發包(使用Nagle算法) tcp_nopush on; # 立刻發送數據包(禁用Nagle算法) tcp_nodelay on; # 鏈接超時時間 keepalive_timeout 65; # 這個我也不清楚... types_hash_max_size 2048; # 引入文件擴展名與文件類型映射表 include /etc/nginx/mime.types; # 默認文件類型 default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; # http服務上支持若干虛擬主機。 # 每個虛擬主機一個對應的server配置項 # 配置項里面包含該虛擬主機相關的配置。 server { # 端口 listen 80 default_server; listen [::]:80 default_server; # 訪問的域名 server_name _; # 默認網站根目錄(www目錄) root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # 默認請求 location / { } # 錯誤頁(404) error_page 404 /404.html; location = /40x.html { } # 錯誤頁(50X) error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
關于error_log 可以設置log的類型(記錄什么級別的信息)有:debug、info、notice、warn、error、crit幾種
關于sendfile
一般的網絡傳輸過程
硬盤 >> kernel buffer >> user buffer>> kernel socket buffer >>協議棧
使用sendfile后
硬盤 >> kernel buffer (快速拷貝到kernelsocket buffer) >>協議棧
可以顯著提高傳輸性能。
tcp_nopush和tcp_nodelay
tcp_nopush只有在啟用了sendfile時才起作用,
在啟用tcp_nopush后,程序接收到了數據包后不會馬上發出,而是等待數據包最大時一次性發出,可以緩解網絡擁堵。(Nagle化)
相反tcp_nodelay則是立即發出數據包.
分析完了配置文件后開始配置環境。
因為只是配置PHP的服務器,而且只使用一個端口所以只需要改動server部分
在vim中點擊‘i’進入編輯模式。
server { listen 80 default_server; listen [::]:80 default_server; # 這里改動了,也可以寫你的域名 server_name localhost; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { # 這里改動了 定義首頁索引文件的名稱 index index.php index.html index.htm; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } # 這里新加的 # PHP 腳本請求全部轉發到 FastCGI處理. 使用FastCGI協議默認配置. # Fastcgi服務器和程序(PHP,Python)溝通的協議. location ~ \\.php$ { # 設置監聽端口 fastcgi_pass 127.0.0.1:9000; # 設置nginx的默認首頁文件(上面已經設置過了,可以刪除) fastcgi_index index.php; # 設置腳本文件請求的路徑 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # 引入fastcgi的配置文件 include fastcgi_params; } }
修改完成后將vim編輯器切換到一般一半模式(Esc),然后輸入:wq
保存退出。
之后重啟Nginx服務
service nginx restart
以上就配置成功了,但是上面的配置只是nginx配置部分,更多的內容需要繼續學習。
我們可以通過下面的方法判斷Nginx配置是否成功。
在Nginx的網站根目錄(/usr/share/nginx/html)下創建一個php文件,隨便起名我的是phpinfo.php
內容如下:
<?php // 順便可以看一下php的擴展全不全 phpinfo();
進入你的網站看看能不能打開文件
你的ip/文件名 例如:localhost/phpinfo.php
看完了這篇文章,相信你對php nginx如何安裝及配置有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。