用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服務