一、准备工作
1、在vmware上部署web服务器、mysql服务器
2、在xshell远程连接两台服务器
二、初始化配置
2.1 下载阿里云镜像文件
由于centos7官网已经停止更新,我们无法在官网的镜像源中下载资源,所以我们需要下载阿里云镜像源文件。
首先进入到/etc/yum.repos.d
cd /etc/yum.repos.d
下载阿里云文件
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
新建文件backup存放官方提供的repo文件
mkdir backup
mv CentOS-* backup
构建yum元数据缓存
yum makecache
2.2 修改主机名
hostnamectl set-hostname "你要修改的主机名"
2.3 进行网络配置
命令 | 作用 |
---|---|
ip add | 查看ip地址 |
ip route | 查看默认网关/路由信息 |
配置 | 作用 |
---|---|
BOOTPROTO | 获得ip地址的方式 dhcp表示动态获得(别的dhcp服务器给我们分配,无线路由器就是一台具有dhcp功能的服务器) none表示静态配置 static 表示静态配置 |
NAME | 网卡的名字 |
DEVICE | 网卡设备的名字 |
ONBOOT | 开机启动的时候是否激活这个网卡 |
IPADDR | 指定的ip地址 |
PREFIX | ip地址的子网掩码的长度 |
GATEWAY | 网关的ip |
DNS |
进行网络配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="ip地址"
#NETMASK=255.255.255.0
PREFIX=24
GATEWAY="网关"
DNS1=114.114.114.114
DNS2=222.246.129.80
重启网络服务
service network restart
2.4 关闭selinux和firewalld服务
关闭防火墙服务
systemctl stop firewalld
systemctl disable firewalld
更改过后可以使用查看防火墙状态
systemctl status forewalld
修改/etc/selinux/config文件里的enforcing为disabled。selinux是linux系统里的一个安全子系统,用来保护linux系统的安全,但是限制太多会导致程序异常,所以我们一般情况下都会关闭
sed -i '/SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
重启服务器
reboot
重启后,我们可以通过使用getenfoce命令查看selinux状态
getenforce
由于我们需要在多台服务器上进行初始化配置,我们可以通过编写一个shell脚本,这样可以大大减少我们日常工作中的工作量
新建init_env.sh文件
vim init_env.sh
#中途出现错误,直接退出,不会进行后面的步骤
set -e
#!/bin/bash
#第1步:下载阿里云的centos-7.reop文件
cd /etc/yum.repos.d
curl -O http://mirrors.aliyun.com/repo/Centos-7.repo
#新建存放centos官方提供的repo文件,因为官方不提供服务了
mkdir backup
mv CentOS-* backup
yum makecache
#第2步:修改主机名
hostnamectl set-hostname $1
#第3步:配置静态ip地址
cat >/etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=$2
PREFIX=24
GATEWAY=$3
DNS1=114.114.114.114
DNS2=222.246.129.80
EOF
#启动网络服务
service network restart
#第4步: 关闭selinux和firewalld防火墙服务
systemctl stop firewalld
systemctl disable firewalld
#修改/etc/selinux/config文件里的enforcing为disabled
sed -i '/SELINUX=/ s/enforcing/disabled/' /etc/selinux/config
#重启服务器
reboot
编写好脚本后,我们可以通过远程拷贝初始化脚本到其他服务器里
scp init_env.sh "ip地址":"存放文件的地址"
三、部署网站
3.1 安装go语言环境
阿里云镜像源中无法找到golang,我们可以先下载epel源
yum install epel-release -y
下载完成后,我们可以在/etc/yum.repos.d目录下看到epel.repo文件
接着我们开始安装go语言环境
yum install golang -y
使用go version查看go的版本
go version
配置go语言的国内下载资源的站点,将需要依赖的库下载到本地
go env -w GOPROXY=https://goproxy.cn,direct
go mod init web
go mod tidy
3.2 运行go程序
最后,我们就可以开始运行go程序
go run server.go
四、配置数据库信息
在我们进行mysql服务器部署成功后(详细内容可前往MySQL部署了解),在web服务器上开始远程登陆测试
mysql -h "mysql服务器的ip地址" -u"授权的用户名" -p'密码'
以上便是连接成功mysql数据库
修改网站的数据库连接地址
var db *sql.DB
var rdb *redis.Client
const (
DB_USER = "授权的用户名"
DB_PASSWORD = "用户名密码"
DB_NAME = "users"
DB_HOST = "tcp('mysql服务器地址':3306)/"
REDIS_HOST = "'mysql服务器地址':6379"
)
再次运行go程序进行验证