部署运维
- 前言
- 前台部署
- 配置服务器地址
- 配置路由访问规则
- 配置后端接口路由访问规则
- Linux 宝塔傻瓜式部署前台项目
- Nginx 命令
前言
前面有提到使用 Window 的 IIS 管理器来部署打包后的前端项目,点击【原文】 跳转到前篇文章。感觉甲方爸爸的描述,似乎有些客户项目会部署到 Linux 上面,那显然这种方案不能满足。
针对于 Linux 来说,可以使用 Nginx ,不仅可以在 Linux 上面部署,也可以在 Window 上面部署,可以一次配置实现跨平台部署😊😊。
前台部署
与 IIS 管理器部署流程没有什么区别,服务器地址配置、URI 重写,基本就可以啦。
配置服务器地址
http {
server {
listen 80;
server_name localhost;
}
}
listen
代表本地监听端口,server_name
代表服务器名称,可以是端口也可以是域名。域名是通过DNS来解析的,最后还是定位到IP,但是不能直接访问 IP。
配置路由访问规则
http {
server {
listen 80;
server_name localhost;
location / {
root www/jeecgboot-vue3;
try_files $uri $uri/ /index.html;
}
}
}
在这里做了两个配置,一个是 root
用来指定前端的位置,可以使用绝对路径,也可以使用相对路径(相对于 nginx 安装的根目录),在这里使用了相对路径,dict 目录下文件,全部放在 www/jeecgboot-vue3 目录下;另一个是 try_files
实现了类似于重写rewrite的解析,不管 Url 后缀如何繁杂都定位到 /index.html 里面,$uri 代表后面请求 url,即 server_name:listen
后面的 URL。
配置后端接口路由访问规则
http {
server {
listen 80;
server_name localhost;
location / {
root www/jeecgboot-vue3;
try_files $uri $uri/ /index.html;
}
location /toptech-gy/ {
proxy_pass http://127.0.0.1:8080/toptech-gy/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
set $my_proxy_add_x_forwarded_for $proxy_add_x_forwarded_for;
if ($proxy_add_x_forwarded_for ~* "127.0.0.1"){
set $my_proxy_add_x_forwarded_for $remote_addr;
}
proxy_set_header X-Forwarded-For $my_proxy_add_x_forwarded_for;
}
}
}
在这里主要配置了代理,将 /toptech-gy/
路由代理到 http://127.0.0.1:8080/toptech-gy/
,可以是 IP,可以是域名,后面一些配置主要是代理的头信息,让其不存在跨域问题。
Linux 宝塔傻瓜式部署前台项目
相对来说,Linux 上面也有类似于 IIS 管理器,那就是通过宝塔来部署,特别方便,适合我们这种懒人,只需要指定项目位置和域名就可以啦,宝塔也可以部署 JAR。
Nginx 命令
命令 | 参数 | 说明 |
---|---|---|
-h | 获取 nginx 命令说明 | |
-s | signal:stop、quit、reopen、reload | 向主进程发送信号 |
-c | 指定配置文件 |
nginx version: nginx/1.22.1
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
[-e filename] [-c filename] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: NONE)
-e filename : set error log file (default: logs/error.log)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file