CentOS 7 部署Nginx和前端框架

时间:2023-02-04 16:53:21

参考:
Centos 7下安装配置Nginx-阿里云开发者社区 (aliyun.com)
阿里P8架构大牛整理的Nginx 从入门到实践,万字详解
安装nginx之后,处理 conf.d下无default.conf文件

1. CentOS 7 下安装配置 Nginx

一、配置 EPEL 源

sudo yum install -y epel-release
sudo yum -y update

二、安装 Nginx

sudo yum install -y nginx

安装成功后,默认的网站目录为: /usr/share/nginx/html

默认的配置文件为:/etc/nginx/nginx.conf

自定义配置文件目录为: /etc/nginx/conf.d/

也可以通过一下命令查看 Nginx 被安装到了什么地方,有哪些相关的目录:

rpm -ql nginx

三、开启端口80和443

如果你的服务器打开了防火墙,你需要运行以下命令,放行80和443端口。

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
# 验证端口是否放行
firewall-cmd --list-all

四、操作 Nginx

# 查看nginx版本
nginx -v
# 启动nginx
systemctl start nginx
# 停止nginx
systemctl stop nginx
# 重启nginx
systemctl restart nginx
# 查看nginx状态
systemctl status nginx
# 开机启动nginx
systemctl enable nginx
# 关闭开机启动nginx
systemctl disable nginx
# 重载 nginx 配置文件
systemctl reload nginx
# 或者
nginx -s reload
# 测试 nginx 配置(在重新启动或重新加载服务之前测试配置)
nginx -t 

五、前端文件打包

npm run build

# 打包演示环境包,会加载 .env.preview 配置文件
npm run build:preview

# 如果需要生成打包分析图
npm run build:report

六、复制文件到网站根目录

复制dist.zip文件到网站根目录(/usr/share/nginx/html)

unzip -d /usr/share/nginx/html/ /root/Desktop/dist.zip

此时可以预览,http://localhost/

CentOS 7 部署Nginx和前端框架

七、Nginx配置

/etc/nginx/nginx.conf文件中增加配置:

http {
    # 在http下面增加这一段
    server {
        # 这里配置端口
        listen       8080;
        server_name  localhost;

        location / {
            # 加这个是支持history的路由模式,很重要,不然刷新会404
            try_files $uri $uri/ /index.html;
            # 这里配置项目位置
            root   C:/webapp/eleadmin;
            index  index.html index.htm;
        }
    }
}

开启gzip功能

项目打包后一般都有一两个核心的 js 体积会很大,推荐 nginx 服务器开启 gzip 功能,gzip 可以压缩 3-5 倍左右, 能够大幅度优化首屏加载的速度,ele-admin 已经配置了打包生成 gzip 文件,只需要给 nginx 增加如下配置:

server {
    listen       80;
    server_name  demo.eleadmin.com;

    # 开启gzip功能
    gzip on;
    gzip_min_length 10k;
    gzip_comp_level 9;
    gzip_types text/plain text/css application/javascript application/x-javascript text/javascript application/xml;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    location / {
        try_files $uri $uri/ /index.html;
        root   C:/webapp/eleadmin;
        index  index.html index.htm;
    }
}