1 配置基於域名的虛擬主機
示例:
示例:
server {
listen 80;
listen 443 ssl;
server_name ***.com;
ssl_certificate "/usr/local/nginx/key/2632824__***.com.pem";
ssl_certificate_key "/usr/local/nginx/key/2632824__***.com.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
# ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8090/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 80;
server_name ***.com;
location / {
proxy_pass http://127.0.0.1:9696/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
2 Nginx日誌文件的配置與切割
2.1 用log_format指令用來設置日誌的記錄格式
語法格式如下:
log_format main(格式名稱) '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
案例如下:
2.2 用access_log指令指定日誌文件存放路徑
access_log logs/access.log main;
main指的是使用的日誌的格式名稱。
2.3 Nginx日誌的切割
Nginx本身不支持日誌的切割,不過可以藉助linux的定時功能來完成。
方法如下:
腳本內容如下:
然後打開定時:
crontab -e
輸入如下:
00 00 * * * /bin/bash 腳本路徑
3 Nginx的壓縮輸出配置
gzip on;
# 啓用gzip壓縮的最小文件,小於設置值的文件將不會壓縮
gzip_min_length 1k;
# 設置壓縮所需要的緩衝區大小
gzip_buffers 4 16k;
# 設置gzip壓縮針對的HTTP協議版本
gzip_http_version 1.0;
# gzip 壓縮級別,1-9,數字越大壓縮的越好,也越佔用CPU時間
gzip_comp_level 8;
# 進行壓縮的文件類型。javascript有多種形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建議開啓
gzip_vary off;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
3.5 Nginx的自動列目錄配置
server {
listen 80;
server_name aaa.hbk.com;
access_log logs/aaa.access.log combined;
root /root/hbk/aaa/;
location /css/ {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
[root@localhost commoncss]# tree /root/hbk/aaa/
/root/hbk/aaa/
├── css
│ ├── commoncss
│ │ └── bootstrap.css
│ └── my.css
├── html
├── index.html
└── js
另外Nginx的目錄流量有兩個比較有用的參數,可以根據自己的需求添加:
autoindex_exact_size off;
默認爲on,顯示出文件的確切大小,單位是bytes。
改爲off後,顯示出文件的大概大小,單位是kB或者MB或者GB
autoindex_localtime on;
默認爲off,顯示的文件時間爲GMT時間。
改爲on後,顯示的文件時間爲文件的服務器時間
虛擬目錄也同樣支持,如下:
虛擬目錄開啓目錄流量
location /down/ {
alias /home/wwwroot/lnmp/test/;
autoindex on;
}