有哪些服务器需要部署
前段代码上传到到git并启动
1. centos7 下安装nodejs
1. 下载
- 从官网下下载最新的nodejs,https://nodejs.org/en/download/
通过这里找到下载的路径 然后使用wget下载,比如我这里:
wget https://nodejs.org/dist/v12.18.3/node-v12.18.3-linux-x64.tar.xz
2. 解压和建立软连接
tar -xvf node-v12.18.3-linux-x64.tar.xz
3. 建立软连接
一定要先找到node可执行文件的完整路径比如我这里
ln -s /root/node-v12.18.3-linux-x64/bin/node /usr/bin/node
ln -s /root/node-v12.18.3-linux-x64/bin/npm /usr/bin/npm
注意ln指令用于创建关联(类似与Windows的快捷方式)必须给全路径,否则可能关联错误。
3. 测试
node -v
4. 安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
5. 安装nginx
docker run --name nginx -d -p 80:80 nginx:latest
6. 安装nginx - 挂载目录
想要正确运行下面的命令实现需要从一个可以运行的nginx容器中拷贝对应的文件进入宿主机
运行下面下面的命令(不能在容器中运行)
然后 我们将nginx的一些配置信息 copy到刚创建的对应目录中去
docker cp nginx:/etc/nginx /docker/nginx/config/
docker cp nginx:/usr/share/nginx/html /docker/nginx/data/
docker cp nginx:/var/log/nginx /docker/nginx/logs/
docker run --name nginx -p 80:80 \
-v /docker/nginx/config/nginx/:/etc/nginx \
-v /docker/nginx/data/html:/usr/share/nginx/html \
-v /docker/nginx/logs/:/var/log/nginx \
-d nginx:latest
2. centos7 安装golang
1.准备安装目录
mkdir ~/go && cd ~/go
2.下载
wget https://dl.google.com/go/go1.15.10.linux-amd64.tar.gz
3.执行tar
解压到/usr/local
目录下(官方推荐),得到go
文件夹等
tar -C /usr/local -zxvf go1.15.10.linux-amd64.tar.gz
4.添加/usr/loacl/go/bin
目录到PATH变量中。添加到/etc/profile
或$HOME/.profile
都可以
# 习惯用vim,没有的话可以用命令`sudo apt-get install vim`安装一个
vim /etc/profile
# 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# 保存退出后source一下(vim 的使用方法可以自己搜索一下)
source /etc/profile
5.开启go module
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io
3. shell脚本启动go服务
srv_name="goods_web_main"
chmod +x ./$srv_name
#重启,如果已经存在则关闭重启
if pgrep -x $srv_name > /dev/null
then
echo "${srv_name} is running"
echo "shutting down ${srv_name}"
if ps -a | grep $srv_name | awk '{print $1}' | xargs kill $1
then
echo "starting ${srv_name}"
./$srv_name > /dev/null 2>&1 &
echo "start ${srv_name} success"
fi
else
echo "starting ${srv_name}"
./$srv_name > /dev/null 2>&1 &
echo "start ${srv_name} success"
fi
4.通过gobuild构建go微服务
5.发布go项目到远程服务器上
6.通过shell脚本启动gin服务
第一次 第二次