1. 程式人生 > >快速安裝Nginx及配置詳解(未完待續)

快速安裝Nginx及配置詳解(未完待續)

導讀:

Nginx (engine x) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器,從2007年被德國人開發出來後可以說在市場的佔有率一路飆升,因為它支援高併發,而且還能阻止dos攻擊,它是當前較具影響力的一個http伺服器軟體,像百度等大廠都使用它,所以這是作為一個運維人必須學會的軟體。

安裝

 

配置好yum源:

 1 [[email protected] yum.repos.d]# cat aliyun.repo 
 2 [rhel7]
 3 name=ali base
 4 baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
5 enabled=1 6 gpgcheck=0 7 8 #阿里雲epel 9 [epel] 10 name=ali epel 11 baseurl=https://mirrors.aliyun.com/epel/7/x86_64/ 12 enabled=1 13 gpgcheck=0 14 15 #阿里雲extras 16 [extras] 17 name=ali extras for centos 7 18 baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/ 19 enabled=1 20 gpgcheck=0
1
yum -y install nginx

直接啟動就可以使用了

咱們就先來試下

1 systemctl start nginx

檢視下埠

1 [[email protected] ~]# netstat -ntlp | grep nginx
2 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      51970/nginx: master 
3 tcp6       0      0 :::80                   :::*                    LISTEN      51970/nginx: master 

使用elinks訪問一下,或者你也可以用圖形化介面的瀏覽器去訪問

1 [[email protected] ~]# elinks http://192.168.10.101

 

 

 

主要檔案:

1 配置目錄      /etc/nginx
2 主程式        /usr/sbin/nginx
3 啟動指令碼      /usr/lib/systemd/system/nginx.service
4 預設站點目錄  /usr/share/nginx/html
5 日誌目錄      /var/log/nginx

再瞭解下主配置目錄下的目錄結構

 1 [[email protected] ~]# tree /etc/nginx/
 2 /etc/nginx/                    # 主程序目錄
 3 ├── conf.d                     # 子程序目錄
 4 │   ├── default.conf           # 虛擬主機模板配置檔案
 5 │   └── example_ssl.conf       # https虛擬主機模板配置檔案
 6 ├── fastcgi_params             # 程式變數
 7 ├── koi-utf
 8 ├── koi-win
 9 ├── mime.types                 # 副檔名與檔案型別對映表
10 ├── nginx.conf                 # 主配置檔案
11 ├── scgi_params
12 ├── uwsgi_params
13 └── win-utf

其他檔案就不介紹了,因為我們也很少會用到,挑重點給大家

 

 基本配置

 為了方便了解主配置檔案的內容,我們檢視並過濾掉空行來了解

 1 [[email protected] ~]# cat /etc/nginx/nginx.conf | grep -v "^$"
 2 user  nginx;                # 所有子程序所使用使用者身份/etc/passwd裡檢視
 3 worker_processes  1;        # 開機Nginx的程序數
 4 error_log  /var/log/nginx/error.log warn;    # 錯誤日誌
 5 pid        /var/run/nginx.pid;               # 記錄程序PID號的檔案
 6 events {
 7     worker_connections  1024;     # 每個程序最大連結數,可以是65535
 8 }
 9 http {
10     include       /etc/nginx/mime.types;    # 副檔名與檔案型別對映表
11     default_type  application/octet-stream; # 預設檔案型別
12     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '       # 定義maim日誌記錄型別
13                       '$status $body_bytes_sent "$http_referer" '
14                       '"$http_user_agent" "$http_x_forwarded_for"';
15     access_log  /var/log/nginx/access.log  main;   # 訪問日誌
16     sendfile        on;     # 搞笑檔案傳輸模式
17     #tcp_nopush     on;     # 配置一次傳送資料的包大小,必須和sendfile一起使用
18     keepalive_timeout  65;  # 保持連結超時時間
19     #gzip  on;              # 壓縮
20     include /etc/nginx/conf.d/*.conf;   # 讀取目錄下以.conf的檔案,載入進來
21 }

 

一:程序管理

1 [[email protected] ~]# cat /etc/nginx/nginx.conf | grep -v "^$"
2 user  nginx;
3 worker_processes  1;
4 error_log  /var/log/nginx/error.log warn;
5 pid        /var/run/nginx.pid;
6 events {
7     worker_connections  1024;
8 }

就這段,程序管理我們只要看兩個數值就可以

程序:worker_processes 1;

這個跟你主機的CPU有關,是與CPU的核心數成倍數的,假如你的CPU核心數是雙核,那就配置4程序,如果四核就是配置為8程序,同理

執行緒:worker_connections 1024;

這個是執行緒,是單個程序所允許開啟的執行緒數量,最高可以配置65535,但還是得根據你作業系統設定的最大檔案開啟數量有關

1 # 檢視當前檔案開啟數量值
2 [[email protected] ~]# ulimit -n
3 1024
4 # 設定為65535
5 [[email protected] ~]# ulimit -HSn 65535
6 [[email protected] ~]# ulimit -n
7 65535

如果你伺服器系統預設設定的是1024,而你nginx設定為65535,啟動時不會報錯,但在你執行檢查語法的時候就會報以下錯誤

1 [[email protected] ~]# nginx -t
2 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
3 nginx: configuration file /etc/nginx/nginx.conf test is successful

 

二:虛擬主機配置

講完程序,我們就來配置下虛擬主機,學過Apache就知道它可以配置很多個虛擬主機,且可以通過不通的域名訪問到不通的虛擬主機,所以我們也來配置下Nginx的虛擬主機。

先進去到子程序配置檔案裡,我們拷貝模板檔案後來進行修改。
站點的域名就使用www.zhou.com

1 [[email protected] ~]# cd /etc/nginx/
2 [[email protected] nginx]# ls
3 conf.d                fastcgi_params          mime.types          scgi_params           win-utf
4 default.d             fastcgi_params.default  mime.types.default  scgi_params.default
5 fastcgi.conf          koi-utf                 nginx.conf          uwsgi_params
6 fastcgi.conf.default  koi-win                 nginx.conf.default  uwsgi_params.default
7 [[email protected] nginx]# vim nginx.conf

把配置檔案裡不重要的東西我們先給它刪了,剩下我們要的配置就可以

 
 

 

修改完建立一個主頁檔案index.html

1 [[email protected] nginx]# echo "hello nginx" >/usr/share/nginx/html/index.html

重啟nginx服務

1 [[email protected] nginx]# systemctl restart nginx

更改hosts檔案

1 echo '192.168.100.101 www.zhou.com' >>/etc/hosts