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后,显示的文件时间为文件的服务器时间
扫描二维码关注公众号,回复:
8794285 查看本文章
虚拟目录也同样支持,如下:
虚拟目录开启目录流量
location /down/ {
alias /home/wwwroot/lnmp/test/;
autoindex on;
}