2020-11-08 00:24:16
围观(7002)
相关文章:
使用GO语言Beego框架开发一个简易留言板 (本文就是使用这篇文章的源码进行部署)
上面两篇文章写了一下体验 Beego 和使用 Beego 开发一个简易留言板,开发的时候可以使用 bee run 命令运行,并在浏览器打开 localhost:8080 可访问。
或者 Windows 下运行项目根目录的 .exe 二进制文件后可以访问 localhost:8080
但是如果想要一些例如 日志分析 / SSL配置 / 多域名配置 之类的功能,就需要搭配 Nginx 或者 Apache ,所以本文使用 Nginx 进行反向代理至 Beego 的项目。
Windows 部署
需要先将源码打包成二进制文件。
Windows 的打包命令:
bee pack -be GOOS=windows
在 Windows 打包后,在根目录有一个二进制 .exe 文件,运行这个文件,或者将该文件放入系统服务。直到可在浏览器访问 localhost:端口号 可访问网站即可。(端口号可在项目的 app.conf 文件配置)
接着就是配置 Nginx ,在 Nginx 添加一个配置文件并写入:
server { listen 80; server_name bubaijun.test; # 改为你自己的域名 charset utf-8; location /(css|js|fonts|img)/ { access_log off; expires 1d; root "E:/soft/GOPATH/bin/blog/static"; try_files $uri @backend; } location / { try_files /_not_exists_ @backend; } location @backend { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8080; } }
注意配置的 root 参数的路径,复制博主的配置后需要自己修改。写入完成后重启 Nginx.
如果是线上拥有独立 IP 的服务器,可以直接解析域名后通过域名访问,如果像博主这样是本地而且还没独立 IP 则需要修改电脑的 hosts
hosts 文件所在位置是 C:\Windows\System32\drivers\etc
可以像博主这样添加一行:
127.0.0.1 bubaijun.test
完成后即可在浏览器访问 bubaijun.test 部署就完成了。
Linux Centos 部署
使用命令打包成 Linux 二进制运行文件.
Linux 打包命令:
bee pack -be GOOS=linux
接着可以使用 SFTP 或者其他方式将文件传到 Centos 系统。
解压传到服务器的二进制包(这两句命令只针对于博主开发的那个简易留言板,如果是其他项目需要改一下包名):
mkdir /home/blog tar -xvf blog.tar.gz -C /home/blog
如果需要修改数据库配置,可以使用 VIM 命令进行编辑配置文件:
vim /home/blog/conf/app.conf
编辑配置后还需要给 blog 这个目录权限:
chmod 777 /home/blog chmod +x /home/blog
运行应用(需要切换到解压的应用根目录):
nohup ./blog &
可以查看端口使用情况:
netstat -ntlp
如果返回:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10406/nginx: master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 988/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1176/master tcp6 0 0 :::33060 :::* LISTEN 1021/mysqld tcp6 0 0 :::3306 :::* LISTEN 1021/mysqld tcp6 0 0 :::8080 :::* LISTEN 10572/./blog tcp6 0 0 :::22 :::* LISTEN 988/sshd tcp6 0 0 ::1:25 :::* LISTEN 1176/master
看到 8080 端口是被 blog 应用占用即可。
接着就是配置 Nginx 默认配置,引入一个目录作为配置目录。
vim /usr/local/nginx/conf/nginx.conf
添加一行代码:
include /usr/local/nginx/config/*.conf;
例如:
include mime.types; # 在这句后面添加 include 配置目录 include /usr/local/nginx/config/*.conf;
别忘了给 /usr/local/nginx/config 目录权限,权限给予的方法上面有了...
创建一个新的配置文件并写入:
vim /usr/local/nginx/config/blog.conf
写入:
server { listen 80; server_name bubaijun.test; # 改为你自己的域名 charset utf-8; location /(css|js|fonts|img)/ { access_log off; expires 1d; root "/home/blog/static"; try_files $uri @backend; } location / { try_files /_not_exists_ @backend; } location @backend { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8080; } }
重启 Nginx:
/usr/local/nginx/sbin/nginx -s reload
此时可使用浏览器访问上面设置的域名
最后如果网页无法打开,应该是防火墙没开放端口。
firewall-cmd --zone=public --add-port=80/tcp --permanent
需要获取网口信息:
ifconfig
还需要把网口设置一下:
firewall-cmd --zone=public --add-interface=enp0s3
enp0s3 为你自己的网口
当然也可以直接把防火墙关了(高危操作 不建议在生产环境这样做):
systemctl stop firewalld.service
注意
部署前需要安装 MySQL 和 Nginx. 如果不会安装可以在博客搜索 MySQL 和 Nginx 有对应的文章。
例如这篇文章:
安装 MySQL 后需要将所需的数据库创建或导入。
例如这篇文章 使用GO语言Beego框架开发一个简易留言板 的 database.sql
导入数据库后还需要修改 conf 目录下的 app.conf 数据库配置。
本文地址 : bubaijun.com/page.php?id=222
版权声明 : 未经允许禁止转载!
上一篇文章: Centos编译安装Nginx
下一篇文章: 记-广西贵州自驾游