gin加vue使用nginx代理部署服务器

采用的是前后端分离,然后部署到一台服务器上,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的)如果有配置文件静态文件的话一并带上,
放到服务器上,我的目录结构
gin加vue使用nginx代理部署服务器_第1张图片

启动服务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端口,

以上就是全套配置过程了,主要是后端以及服务器,有问题欢迎评论区留言

你可能感兴趣的:(go语言,nginx,vue,centos)