centos7 nginx@1.16.1


用yum進行安裝必要程序

如果你Linux用的很熟練的話,我想這些程序你一定已經用yum安裝過了,但是如果你還不熟悉Linux,你可以直接用yum進行安裝就可以了。

yum -y install gcc gcc-c++ autoconf pcre-devel make automake
yum -y install wget httpd-tools vim

基於Yum的方式安裝Nginx

我們可以先來查看一下yum是否已經存在,命令如下:

yum list | grep nginx
查看源支持版本

如果沒有想要的版本需要修改源

vim /etc/yum.repos.d/nginx.repo
 
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1


yum install nginx

查看nginx 版本
nginx -v

查看文件安裝位置
rpm -ql nginx

nginx 默認端口為80 我們想要在 訪問需要允許centos 防火牆放開80 端口
 

CentOS 7 快速開放端口:

CentOS升級到7之后,發現無法使用iptables控制Linuxs的端口,baidu之后發現Centos 7使用firewalld代替了原來的iptables。下面記錄如何使用firewalld開放Linux端口:

開啟端口


[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

查詢端口號80 是否開啟:

[root@centos7 ~]# firewall-cmd --query-port=80/tcp

重啟防火牆:

[root@centos7 ~]# firewall-cmd --reload

查詢有哪些端口是開啟的:

[root@centos7 ~]# firewall-cmd --list-port

命令含義:


--zone #作用域
--add-port=80/tcp #添加端口,格式為:端口/通訊協議
--permanent #永久生效,沒有此參數重啟后失效

 這樣就可以在瀏覽器中訪問遠程ip 下的80 端口。

nginx 啟動命令
1.
nginx
2.
systemctl start nginx.service
nginx 停止命令
立即停止服務  nginx  -s stop

從容停止服務  nginx -s quit
systemctl 停止 systemctl stop nginx.service

重啟Nginx服務

有時候我們需要重啟Nginx服務 systemctl restart nginx.service

重新載入配置文件  nginx -s reload

 
查詢服務啟動狀態
ps aux | grep nginx

查看端口號

在默認情況下,Nginx啟動后會監聽80端口,從而提供HTTP訪問,如果80端口已經被占用則會啟動失敗。我么可以使用netstat -tlnp命令查看端口號的占用情況 

 

nginx 判斷是pc 還是手機訪問 指向不同訪問目錄 

location / {
root /usr/share/nginx/pc;
if ($http_user_agent ~* 'Android|webOS|iPhone|iPod|BlackBerry'){
root /usr/share/nginx/mobile;
}
index index.html;
}

nginx部分內置參數
$args                      請求中的參數;
$binary_remote_addr        遠程地址的二進制表示
$body_bytes_sent           已發送的消息體字節數
$content_length            HTTP請求信息里的"Content-Length"
$content_type              請求信息里的"Content-Type"
$document_root             針對當前請求的根路徑設置值
$document_uri              與$uri相同
$host                      請求信息中的"Host",如果請求中沒有Host行,則等於設置的服務器名;    
$http_cookie               cookie 信息 
$http_referer              來源地址
$http_user_agent           客戶端代理信息
$http_via                  最后一個訪問服務器的Ip地址
$http_x_forwarded_for      相當於網絡訪問路徑。    
$limit_rate                對連接速率的限制          
$remote_addr               客戶端地址
$remote_port               客戶端端口號
$remote_user               客戶端用戶名,認證用
$request                   用戶請求信息
$request_body              用戶請求主體
$request_body_file         發往后端的本地文件名稱      
$request_filename          當前請求的文件路徑名
$request_method            請求的方法,比如"GET"、"POST"等
$request_uri               請求的URI,帶參數   
$server_addr               服務器地址,如果沒有用listen指明服務器地址,使用這個變量將發起一次系統調用以取得地址(造成資源浪費)
$server_name               請求到達的服務器名
$server_port               請求到達的服務器端口號
$server_protocol           請求的協議版本,"HTTP/1.0"或"HTTP/1.1"
$uri                       請求的URI,可能和最初的值有不同,比如經過重定向之類的

gzip的配置項

Nginx提供了專門的gzip模塊,並且模塊中的指令非常豐富。

  • gzip : 該指令用於開啟或 關閉gzip模塊。
  • gzip_buffers : 設置系統獲取幾個單位的緩存用於存儲gzip的壓縮結果數據流。
  • gzip_comp_level : gzip壓縮比,壓縮級別是1-9,1的壓縮級別最低,9的壓縮級別最高。壓縮級別越高壓縮率越大,壓縮時間越長。
  • gzip_disable : 可以通過該指令對一些特定的User-Agent不使用壓縮功能。
  • gzip_min_length:設置允許壓縮的頁面最小字節數,頁面字節數從相應消息頭的Content-length中進行獲取。
  • gzip_http_version:識別HTTP協議版本,其值可以是1.1.或1.0.
  • gzip_proxied : 用於設置啟用或禁用從代理服務器上收到相應內容gzip壓縮。
  • gzip_vary : 用於在響應消息頭中添加Vary:Accept-Encoding,使代理服務器根據請求頭中的Accept-Encoding識別是否啟用gzip壓縮。

gzip最簡單的配置

http {
   .....
    gzip on;
    gzip_types text/plain application/javascript text/css;
   .....
}

gzip on是啟用gizp模塊,下面的一行是用於在客戶端訪問網頁時,對文本、JavaScript 和CSS文件進行壓縮輸出。

配置好后,我們就可以重啟Nginx服務

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM