快速安裝Nginx及配置詳解(未完待續)
阿新 • • 發佈:2018-11-07
導讀:
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
1yum -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