1.主配置文件與虛擬主機(jī)分離
如果虛擬主機(jī)很多的話,進(jìn)行分離看起來會(huì)更方便,還可以按功能、業(yè)務(wù)進(jìn)行劃分,下面以兩個(gè)虛擬主機(jī)為例。
完整的除去空行和注釋后的配置文件:
[root@nginx-01?conf]#?egrep?-v?"#|^$"?nginx.conf.bak? worker_processes??1; events?{ ????worker_connections??1024; } http?{ ????include???????mime.types; ????default_type??application/octet-stream; ????sendfile????????on; ????keepalive_timeout??65; ????server?{ ????????listen???????80; ????????server_name??localhost; ????????location?/?{ ????????????root???html; ????????????index??index.html?index.htm; ????????} ????????Error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html; ????????} ????} }
創(chuàng)建/app/nginx/conf目錄下虛擬主機(jī)配置目錄
mkdir?extra
利用server模塊創(chuàng)建www和bbs兩個(gè)虛擬站點(diǎn)
[root@nginx-01?conf]#?cat?-n?nginx.conf [root@nginx-01?conf]#?sed?-n?'10,20p'?nginx.conf ????server?{ ????????listen???????80; ????????server_name??localhost; ????????location?/?{ ????????????root???html; ????????????index??index.html?index.htm; ????????} ????????error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html; ????????}
www站點(diǎn)
[root@nginx-01?conf]#?cat?extra/www.conf? ????server?{ ????????listen???????80; ????????server_name??www.yygg.com; ????????location?/?{ ????????????root???html/www; ????????????index??index.html?index.htm; ????????} ????????error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html; ????????} ????}
bbs站點(diǎn)
[root@nginx-01?conf]#?cat?extra/bbs.conf? ????server?{ ????????listen???????80; ????????server_name??bbs.yygg.com; ????????location?/?{ ????????????root???html/bbs; ????????????index??index.html?index.htm; ????????} ????????error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html/bbs; ????????} ????}
主配置文件配置(nginx.conf)
worker_processes??1; events?{ ????worker_connections??1024; } http?{ ????include???????mime.types; ????default_type??application/octet-stream; ????sendfile????????on; ????keepalive_timeout??65; include?extra/www.conf; include?extra/bbs.conf; }
檢查配置
[root@nginx-01?conf]#?/app/nginx/sbin/nginx?-t nginx:?the?configuration?file?/app/nginx-1.18.0//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/app/nginx-1.18.0//conf/nginx.conf?test?is?successful
創(chuàng)建站點(diǎn)目錄
[root@nginx-01?conf]#?mkdir?/app/nginx/html/{www,bbs} [root@nginx-01?conf]#?echo?"http://www.yygg.com"?>>/app/nginx/html/www/index.html [root@nginx-01?conf]#?echo?"http://bbs.yygg.com"?>>/app/nginx/html/bbs/index.html [root@nginx-01?conf]#?echo?"192.168.1.5?www.yygg.com?bbs.yygg.com"?>>/etc/hosts
啟動(dòng)服務(wù)并測(cè)試
[root@nginx-01?conf]#?/app/nginx/sbin/nginx [root@nginx-01?conf]#?curl?www.yygg.com http://www.yygg.com [root@nginx-01?conf]#?curl?bbs.yygg.com http://bbs.yygg.com
2.虛擬主機(jī)別名設(shè)置
以www站點(diǎn)為例,設(shè)置別名
所謂別名就是除了主域名外額外設(shè)置一個(gè)或多個(gè)域名
為www.yygg.com設(shè)置別名yygg.com。
[root@nginx-01?conf]#?cat?extra/www.conf? ????server?{ ????????listen???????80; ????????server_name??www.yygg.com?yygg.com; ????????location?/?{ ????????????root???html/www; ????????????index??index.html?index.htm; ????????} ????????error_page???500?502?503?504??/50x.html; ????????location?=?/50x.html?{ ????????????root???html/www; ????????} ????}
重啟nginx測(cè)試
[root@nginx-01?conf]#?/app/nginx/sbin/nginx?-s?reload [root@nginx-01?conf]#?cat?/etc/hosts 192.168.1.5?www.yygg.com?bbs.yygg.com?yygg.com [root@nginx-01?conf]#?curl?yygg.com http://www.yygg.com
3.Nginx status狀態(tài)信息配置
狀態(tài)信息記錄使用的是`ngx_http_stub_status_module`模塊實(shí)現(xiàn)
輸入/app/nginx/sbin/nginx -V檢查編譯是否有上述模塊:
nginx?version:?nginx/1.18.0 built?by?gcc?4.8.5?20150623?(Red?Hat?4.8.5-16)?(GCC)? built?with?OpenSSL?1.0.2k-fips??26?Jan?2017 TLS?SNI?support?enabled configure?arguments:?--user=nginx?--group=nginx?--prefix=/app/nginx-1.18.0/?--with-http_stub_status_module?--with-http_ssl_module
創(chuàng)建一個(gè)status的虛擬主機(jī),方式參考標(biāo)題1,status.conf配置文件如下:
????server?{ ????????listen???????80; ????????server_name??status.yygg.com; ????????location?/?{ ????????????stub_status?on; ????????????access_log?off; ????????} ????}
主配置文件nginx.conf追加status虛擬主機(jī)配置
sed?-i?'11?i?include?extra/status.conf;'?nginx.conf
檢查語(yǔ)法并重啟nginx
/app/nginx/sbin/nginx?-t /app/nginx/sbin/nginx?-s?reload
配置hosts解析
192.168.1.5 status.yygg.com
訪問status.yygg.com查看
[root@nginx-01?conf]#?curl?status.yygg.com Active?connections:?1? server?accepts?handled?requests ?4?4?4? Reading:?0?Writing:?1?Waiting:?0
顯示結(jié)果解析:
Active connections: 1 ?##正處理的連接數(shù)為1server ?##共處理了4次連接accepts ?##共創(chuàng)建了4次握手handled requests ?##共處理了4次請(qǐng)求Reading ?##讀取到客戶端的Header信息數(shù)Writing ?##返回給客戶端的Header信息數(shù)Waiting ?##NGinx已經(jīng)處理完正在等候下一次請(qǐng)求的指令的駐留連數(shù)
4.增加錯(cuò)誤日志
error_log語(yǔ)法:
error_log?? ?file?? ?level;
關(guān)鍵字不變,file是日志存放位置,level是錯(cuò)誤日志級(jí)別
通常只用warn|error|crit三個(gè)級(jí)別
配置錯(cuò)誤日志配置,在nging.conf文件中worker_processes 1;下添加
error_loglogs/error_log;
沒錯(cuò),就這一行!