实践笔记:部署云服务器,将服务开放给用户 | 青训营

2023年 8月 15日 74.3k 0

购买一个云服务器

目前国内有多家云服务器厂商阿里云、腾讯云、华为云、Ucloud等等,这里我选择的是一台轻量应用服务器,轻量级应用服务器类似于一台云电脑,可以安装各种操作系统,而且只需要操作官方的控制台,选择系统云服务器就会自动安装系统,对于我这种小白来说还是非常友好的,在这里以Linux操作系统为样例。

安装Golang环境

1. dnf 安装

可以直接通过如下命令安装系统提供的 golang 包

dnf install -y golang

安装完成后可通过如下命令确认安装版本

go version

输出结果: go version go1.19 linux/amd64

2. 自定义安装

如果想自定义安装,可以参考如下步骤使用官网提供的二进制文件

1 下载官方二进制,本例使用的是与 上一节相同的版本,也可以按需选择

wget https://go.dev/dl/go1.19.linux-amd64.tar.gz

sha256sum go1.19.linux-amd64.tar.gz

2 提取下载的 tarball 文件到自定义目录:

mkdir -p /usr/local/my_go/
tar -C /usr/local/my_go/ -xzf go1.19.linux-amd64.tar.gz

3 添加到 PATH 环境变量中

echo "export PATH=$PATH:/usr/local/my_go/go/bin" >> ~/.bashrc
source ~/.bashrc

4 验证 Go 语言是否安装成功

go version
go version go1.19 linux/amd64

Go 使用

Go 程序可以直接通过 go run 命令运行,如下demo所示:

vim hello.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, OpenCloudOS!")                                                                                   
}

可以直接运行此代码

go run hello.go
Hello, OpenCloudOS!

导入项目

我采用的使在本地windows系统上编写测试好项目代码之后直接将项目文件包导入linux,大多数云服务器都可以直接拖拽传输,不行的话也可以通过Xshell等工具远程连接linux后上传,或者使用git克隆项目,这样做的好处是不用打包,直接在linux上运行项目,操作比较方便简单。

安装Mysql

1.安装源

rpm -ivh

2.安装MySQL 服务器

尝试运行:yum -y install mysql-community-server
如果报错 Unable to find a match: mysql-community-server
运行:yum module disable mysql
再执行:yum -y install mysql-community-server

等待下载,出现y/n 填写y即可

3.提示成功启动mysql

systemctl start mysqld

4.登录和修改密码

我们安装的时候,并没有设置初始密码,所以 mysql 在第一次启动的时候,会自动初始化一个密码,通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

# 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log
​
输出(root@localhost: 后面的是密码):
2023-04-21T06:03:27.071550Z 6 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: r2to%yZ%a)%s

登录

# 登录mysql,一定要注意:-p和'密码'之间是没有空格的
mysql -u root -p'r2to%yZ%a)%s'

修改 root 密码

修改密码部分我参照的这位大佬的文章,写的非常好,建议大家直接看

CentOS / Linux 安装MySQL

利用nohup让项目后台运行

当我们运行一个go web项目时,如果关闭连接云服务器上运行的go项目也就停止了,这种情况下,如果不小心遇到死机,断电之类的情况服务器就会断掉,这里只提供一种解决方法,采用nohup后台运行,即使断开连接,项目也会继续运行。

编译项目文件

go build test.go 
编译项目生成可执行文件.exe

指定输出文件名

go build -o custom_name
编译输出二进制文件

修改可执行权限

chmod 777 custom_name
不改变权限容易报错

程序后台运行

nohup ./custom_name & 
运行后是看不到程序进程的

关闭程序

通过如下方法可以关闭进程
-   查询进程号
ps aux|grep custom_name 
-   关闭进程
kill 进程编号

开放端口供用户访问

打开自己的云服务器控制台,在防火墙一栏添加规则,选择自己要开放的端口号即可,每种云服务器的操作不一样,这里就不过多赘述了,可以参考官方文档,开放后用户就可以通过
http://公网ip:端口号访问服务器了

域名解析

域名解析需要购买域名并且需要DNS解析器来访问服务器ip,厂商一般会提供部分免费的DNS解析器,可以在自己的云服务器厂商购买域名,根据厂商备案方法进行域名备案,否则是无法解析的

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论