部署
本地
#使用apt 安装
sudo apt install nginx
Docker
准备工作
# 生成容器
docker run --name nginx-tmp -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /mydata/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx-tmp:/etc/nginx/conf.d /mydata/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx-tmp:/usr/share/nginx/html /mydata/nginx/html/
制作容器
docker run \
-p 80:80 \
-p 81:81 \
--name nginx \
-v /mydata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /mydata/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /mydata/nginx/log:/var/log/nginx \
-v /mydata/nginx/html:/etc/nginx/html \
-d nginx
配置

# 能够切换页面
server{
#压缩js文件
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
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;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
listen 80;
listen [::]:80;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
root /usr/share/nginx/html/;
index index.html;
# 能够通过浏览器地址切换页面
location / {
try_files $uri $uri/index.html /index.html;
}
# 解决跨域
location /api {
proxy_pass http://127.0.0.1:8120;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_set_header Connection "";
}
}
优化
- 部署后由于
chunk-vendors.js太大,网站首页加载30多秒,使用如下方式提高网站访问速率
# gzip on; // 开启gzip压缩
# gzip_min_length 1k; // 只压缩大于1KB的文件
# gzip_comp_level 9; // 压缩级别,级别越高压缩率越高,但消耗CPU资源也越多
# 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; // 指定需要进行gzip压缩的文件类型
# gzip_vary on; // 根据Accept-Encoding请求头决定是否启用压缩,防止CDN缓存问题
# gzip_disable "MSIE [1-6]\."; // 禁用gzip压缩的浏览器类型,这里禁用了IE6及以下的浏览器