在我们实际工作过程当中,我们经常需要做一些Nginx的基础配置,其中包括服务端应用访问和静态目录的访问。下面对其中的步骤简单做个整理,供大家参考(基于Linux环境)。
1.Nginx环境搭建
yum install nginx
直接使用nginx命令启动
2.在域名管理中心配置我们自己应用对应的域名;
3.代理服务端访问配置
server{
listen 80;
server_name 自己的域名;
#charset koi8-r;
access_log nginx访问日志目录 main;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_buffers 32 4k;
proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass 服务器上的应用访问地址url
}
}
4.代理静态目录访问配置
server {
listen 80;
server_name 自己项目的访问域名;
#charset koi8-r;
access_log 服务器上的nginx访问日志目录 main;
location / {
root 服务器上的静态目录;
try_files $uri $uri/ @router;
index index.html;
expires -1;
}
location @router {
rewrite ^.*$ /index.html last;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
5.对于前端项目的访问,我们经常需要对文件做一些处理,可以在server中增加一些配置
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript 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 on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
6.前端项目nginx配置(同时代理了api接口)
server {
listen 80;
server_name 前端项目访问url;
# 开启gzip
gzip on;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 2;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript 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 on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
#charset koi8-r;
access_log /ht/logs/seller-access.log main;
location / {
root /ht/websites/dist;
try_files $uri $uri/ @router;
index index.html;
expires -1;
}
location @router {
rewrite ^.*$ /index.html last;
}
# 代理服务端接口
location /api {
proxy_pass 具体的api接口地址;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}