[Centos7]项目部署阿里云Centos7(使用宝塔面板)

本文详细描述了如何使用宝塔面板在CentOS7上部署前后端分离项目,包括安装Xshell和XFTP、宝塔面板的安装与配置、数据库管理、前端Vue部署、后端Go部署,以及HTTP升级到HTTPS的证书生成和安装过程。
摘要由CSDN通过智能技术生成

为了方便后续管理本次使用的是宝塔面板进行项目的部署,由于是前后端分离的项目因此将分开部署(其实也都差不多)。

准备

安装xshell和xftp

下载免费版够用了,安装好后连接centos7
image.png
image.png
点击连接后会弹出对话框输入服务器端的用户密码即可连接上,xshell的使用同理。

宝塔面板的使用

安装

yum install -y wget && wget -O install.sh [http://download.bt.cn/install/install_6.0.sh](http://download.bt.cn/install/install_6.0.sh) && sh install.sh ed8484bec
image.png

  • 安装完成后会有以下信息
  • image.png

登录

复制外网地址到浏览器,输入上面的用户名和密码登录。下载需要的服务器,这里我选择的是Apache。

数据库

  • 这里记录一个问题:centos7使用mysql会无法启动,所以建议下载
  • 添加数据库,信息和之前本地时一致,如果本地数据库有信息可以将本地数据库导入到这里。

image.png

  • 宝塔面板端口设置

在启动之前需要在安全设置中将mysql的端口打开。
image.png

  • 阿里云端口设置

image.png
这样之后在宝塔面板上直接启动就可以了。

前端部署

前端我使用的是Vue,用npm run build打包后会生成一个dist文件夹。在宝塔面板处新建站点,输入域名后提交。点击进入站点所在文件夹,将打包好的dist文件利用xftp传过来。
image.png
image.png
比如这里front是打包的前端页面,访问时输入http://8.210.136.253/front即可访问。

后端部署

后端我使用的是go。用go build main.go生成打包好的go文件。为了方便管理,我将后端文件和前端都放在了8.210.136.253这一文件夹下。
image.png
在宝塔面板上添加go项目,
image.png
此时点启动会发现没有权限,这里我们需要利用xshell给main文件权限,命令为chmod +x ./main,然后再执行就没有问题了。记得要把端口打开。
image.png
image.png
至此,我们前后端就都部署好了。

http -> https

http升级为https分为两部分,一是前端访问后端接口利用https,二是利用https访问前端页面。
image.png
image.png

证书生成

下载OpenSSL

官网:https://slproweb.com/products/Win32OpenSSL.html
下载后直接运行程序安装即可。安装完在用户变量的路径中添加上就可以使用啦。
image.png

生成证书
  • 生成秘钥:openssl genrsa -out server.key 2048
  • 生成证书:openssl req -new -x509 -key server.key -out server.crt -days 365
  • image.png对应这俩文件
go安装证书

给gin框架添加一个中间件https://github.com/unrolled/secure
添加证书代码如下,复制需要的部分到自己的代码里即可。别忘了前端的request也要改成https的。

package main

import (
    "github.com/gin-gonic/gin"
    "github.com/unrolled/secure"
)

func main() {
    router := gin.Default()
    router.Use(TlsHandler())

    router.RunTLS(":8080", "ssl.pem", "ssl.key")
}

func TlsHandler() gin.HandlerFunc {
    return func(c *gin.Context) {
        secureMiddleware := secure.New(secure.Options{
            SSLRedirect: true,
            SSLHost:     "localhost:8080",
        })
        err := secureMiddleware.Process(c.Writer, c.Request)

        // If there was an error, do not continue.
        if err != nil {
            return
        }

        c.Next()
    }
}

网站安装证书

进入网站的管理页面,点击SSL,把刚生成的.key和.crt文件内容复制进去,保存后重启项目即可。
image.png
至此一切就大功告成了!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我有一个小脑瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值