采用的是前后端分离,然后部署到一台服务器上,vue打包时基准路径打包为后端服务的地址不用加端口号,然后接下来主要是后端和服务器的操作:
可以使用goland连接服务器比较便捷
服务器是腾讯云服务器 centos7.6,
1.服务器准备工作
服务器安装mysql
https://blog.csdn.net/EB_NUM/article/details/105425622
修改密码报错
https://blog.csdn.net/calistom/article/details/87939956
云服务在控制台开放端口3306,不在服务器上开放
安装redis直接用redis
yum install redis
启动 redis 服务(关机重启后可能需要重新启动redis)
service redis start
开机启动redis
sudo systemctl enable redis
使用yum安装nginx
EPEL 仓库中有 Nginx 的安装包。如果你还没有安装过 EPEL,可以通过运行下面的命令来完成安装:
sudo yum install epel-release
安装nginx
sudo yum install nginx
安装完成后,执行下面的命令设置Nginx开机启动:
sudo systemctl enable nginx
启动Nginx
sudo systemctl start nginx
查看Nginx运行状态:
sudo systemctl status nginx
2.文件编译上传以及运行
1、如果在跨平台编译的时候,使用CGO可能会有问题,但是我们可以把它禁用了,再指定相应的目标平台
我使用的是goland,可以直接在goland终端依次修改
SET CGO_ENABLED=0 // 禁用CGO
SET GOOS=linux // 目标平台liunx
SET GOARCH=amd64 // 目标处理器架构是amd64
2、再用 go build 命令,就可以编译Linux平台的可执行文件了
go build -o ./msems (自己定)
然后把生成的可执行程序(不带exe的)如果有配置文件静态文件的话一并带上,
放到服务器上,我的目录结构
启动服务nudo
先移动到文件启动的目录在执行
sudo nohup ./msems conf/config.yaml > nohup_msems.log 2>&1 & (根据自己情况修改)
然后把前端文件放到你要放的地方,注意要和nginx中配置的路径一样
以下是可能用到的语句
查看端口占用情况
lsof -i tcp:8080
// 根据名字杀死进程
pkill -2 msems
//查看进程
ps -ef | grep msems
3.nginx配置
修改配置文件修改etc/nginx/nginx.conf 中的sever部分
Nginx常用命令
nginx -s stop # 停止 Nginx 服务
nginx -s reload # 重新加载配置文件
nginx -s quit # 平滑停止 Nginx 服务
nginx -t # 测试配置文件是否正确
server {
listen 80;
server_name localhost;
charset utf-8;
access_log /var/log/bluebell-access.log; #日志输出路径
error_log /var/log/bluebell-error.log;
#如果是css,js|fonts|png|svg|html|txt 资源文件 nginx 直接处理,不提交到后台让go处理。
# nginx 会在root 对应的目录下 去找这些资源文件
# location ~ \.(css|js|fonts|png|svg|html|txt)$ {
# access_log on;
# expires 1d;
#
#
# root /data/app/template/;
# }
location / {
root /data/app/template/; #3.dist文件的位置(我改名了)
index index.html;
}
location /dyadmin {
root /data/app/template/; #3.dist文件的位置(这个是后台服务)
try_files $uri $uri/ /admin.html; #4.重定向,内部文件的指向
}
location ~/api {
#这处具体怎么写得根据后端的地址,我的是本地的127.0.0.1:8080/api/v1
proxy_pass http://127.0.0.1:8080; #将请求路由中带有api字段的转发到后端运行的地址
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;
}
修改完
nginx -t # 测试配置文件是否正确
没问题就
nginx -s reload # 重新加载配置文件
然后就可以看是否能成功访问了
注意要开启对应的端口,比如我的是代理80端口,就得开启80端口,
以上就是全套配置过程了,主要是后端以及服务器,有问题欢迎评论区留言