在Centos7中Nginx使用教程一

一:安裝
1.去官網下載最新的nginx包

2.上傳nginx到linux系統
3.安裝依賴環境
無腦往下運行就ok

(1)安裝gcc環境
  yum install gcc-c++

(2)安裝PCRE庫,用於解析正則表達式
 yum install -y pcre pcre-devel

(3)zlib壓縮和解壓縮依賴,
 yum install -y zlib zlib-devel

(4)SSL 安全的加密的套接字協議層,用於HTTP安全傳輸,也就是https
 yum install -y openssl openssl-devel

(5)解壓,需要注意,解壓後得到的是源碼,源碼需要編譯後才能安裝我解壓到root下
tar -zxvf nginx-1.16.1.tar.gz

(6)編譯之前,先創建nginx臨時目錄,如果不創建,在啓動nginx的過程中會報錯
mkdir /var/temp/nginx -p

(7)在nginx目錄,輸入如下命令進行配置,目的是爲了創建makefile文件
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

命令 解釋
–prefix 指定nginx安裝目錄
–pid-path 指向nginx的pid
–lock-path 鎖定安裝文件,防止被惡意篡改或誤操作
–error-log 錯誤日誌
–http-log-path http日誌
–with-http_gzip_static_module 啓用gzip模塊,在線實時壓縮輸出數據流
–http-client-body-temp-path 設定客戶端請求的臨時目錄
–http-proxy-temp-path 設定http代理臨時目錄
–http-fastcgi-temp-path 設定fastcgi臨時目錄
–http-uwsgi-temp-path 設定uwsgi臨時目錄
–http-scgi-temp-path 設定scgi臨時目錄

7.make編譯
make

8.安裝

#老鳥告訴你這樣編譯的話會快一點
make -j 4 install

9.進入sbin目錄啓動nginx

./nginx

停止:./nginx -s stop
重新加載:./nginx -s reload
打開瀏覽器,訪問虛擬機所處內網ip即可打開nginx默認頁面,顯示如下便表示安裝成功:
注意:
1.雲服務器安裝默認要開80端口
2.如果在虛擬機安裝需要關閉防火牆

二使用
下面我們進入conf查看ngxin.conf的核心文件
進入到這個目錄下面

[root@huaxinfeng51 conf]# pwd
/usr/local/nginx/conf

vim命令修改配置文件

[root@huaxinfeng51 conf]# vim nginx.conf

1.設置worker進程的用戶,指的linux中的用戶,會涉及到nginx操作目錄或文件的一些權限,默認爲nobody,這個是你以什麼身份啓動nginx那我的話用root啓動,你也可以創建nginx用戶給nginx用戶權限

user root;

2.worker進程工作數設置,一般來說CPU有幾個,就設置幾個,或者設置爲N-1也行 或者說auto也是可以的,不過按照經驗來說你有幾個cpu就寫幾個
worker_processes 1;

3.nginx 日誌級別debug | info | notice | warn | error | crit | alert | emerg,錯誤級別從左到右越來越大

4.設置nginx進程 pid
pid /usr/local/nginx/logs/nginx.pid;

####你重啓nginx的時候很可能會報錯找不到pid那麼這個情況下你得這麼來
進入nginx安裝目錄/sbin/下執行
nginx 或者 nginx -c 特定位置的nginx.conf
nginx -c …/conf/nginx.conf
然後重啓

5.設置工作模式

events {
    # 默認使用epoll
    use epoll;
    # 每個worker允許連接的客戶端最大連接數
    worker_connections  10240;
}

6.http 是指令塊,針對http網絡傳輸的一些指令配置

http {
}

7.include 引入外部配置,提高可讀性,避免單個配置文件過大,你可在conf文件裏面看看這個文件

include       mime.types;

8.設定日誌格式,main爲自定義的格式名稱,如此 access_log 就可以直接使用這個變量了

在/var/log/nginx下面這些log就是上面綠色的定義

參數名 參數意義
$remote_addr 客戶端ip
$remote_user 遠程客戶端用戶名,一般爲:’-’
$time_local 時間和時區
$request 請求的url以及method
$status 響應狀態碼
$body_bytes_send 響應客戶端內容字節數
$http_referer 記錄用戶從哪個鏈接跳轉過來的
$http_user_agent 用戶所使用的代理,一般來時都是瀏覽器
$http_x_forwarded_for 通過代理服務器來記錄客戶端的ip

9.sendfile使用高效文件傳輸,提升傳輸性能。啓用後才能使用tcp_nopush,是指當數據表累積一定大小後才發送,提高了效率

sendfile        on;
tcp_nopush      on;

10.keepalive_timeout設置客戶端與服務端請求的超時時間,保證客戶端多次請求的時候不會重複建立新的連接,節約資源損耗。

#keepalive_timeout  0;
keepalive_timeout  65;

11.gzip啓用壓縮,html/js/css壓縮後傳輸會更快
gzip on; #開啓gzip
gzip_min_length 1; #小於1K不壓縮
gzip_comp_level 3; #壓縮基本爲3 默認是1-9但是並不是越大越好,越大越影響性能,cpu要計算這個壓縮
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/bmp application/x-bmp image/x-ms-bmp application/vnd.ms-fontobject font/ttf font/opentype font/x-woff; #壓縮類型

12.server可以在http指令塊中設置多個虛擬主機
listen 監聽端口
server_name localhost、ip、域名
location 請求路由映射,匹配攔截
root 請求位置
index 首頁設置

server {
            listen       88;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章