自动化脚本和域名绑定
编写自动化脚本
修改对应配置文件
首先需要核对配置文件是否符合需求
- postgres 连接是否正常
- nginx 是否添加对应映射
- 后端项目的端口和前端项目的端口
bash
# 修改数据库配置
$ vim /home/template/ticket-base/ticket-base-run/src/main/resources/application-pg-dev.yml
db:
url: ..
username: ..
password: ..
# 修改spring配置
$ vim /home/template/ticket-base/ticket-base-run/src/main/resources/application.yml
server:
port: 8080
# 修改nginx配置
$ vim /etc/nginx/nginx.conf
自动打包程序脚本
编写自动打包脚本程序:build.sh
bash
$ vim build.sh
#!/bin/bash
# 前端打包
cd /home/template/ticket-base-ui
pnpm i
pnpm mvn
echo "front build success"
# 后端打包
cd /home/template/ticket-base
mvn clean install
echo "back build success"
# 修改为可执行文件
$ chmod 755 build.sh
注意:如果没有拉取流水线源操作,需执行 git pull
bash
echo "git pull"
git pull
# 查看最近一次提交 log
echo "git log -1"
git log -1
注意:从 Windows 直接复制脚本程序还需要修改换行格式
bash
# Windows复制需要额外操作
$ vim build.sh
:set ff=unix
:wq
自动开启关闭程序脚本
编写自动杀进程、启动程序脚本
bash
$ vim start.sh
#!/bin/bash
BASE=/home/template
FILE=ticket-base-1.0.0-SNAPSHOT.jar
# 删除历史数据
rm -rf $BASE/$FILE
# 数据包拷贝到指定位置
cp $BASE/ticket-base/ticket-base-run/target/$FILE $BASE/$FILE
PID=`ps -ef | grep ticket-base | grep 'java -jar' | awk '{printf $2}'`
# 如果pid为空,提示一下,否则,执行kill命令
if [ -z $PID ];
then
echo "java server not started"
else
kill -9 $PID
echo "java server stoping...."
fi
# 启动程序
nohup java -jar $BASE/$FILE >/dev/null 2>&1 &
echo 'java server starting...'
域名
绑定域名
首先需要购买域名,并进行域名备案
进入域名解析页面,点击新手引导
之后勾选 @
主机记录和 www
主机记录,输入对应网站 IP 即可。等待几分钟即可绑定成功
HTTPS
进入 SSL 证书页面,首先领取当年年费 20 张证书的额度(领取过的无需重复领取)
申请证书
等待审核,几分钟就能申请下来
下载 Nginx 证书
云服务器ECS里给 HTTPS 443 端口添加到安全组
nginx
server {
listen 443 ssl http2;
# 修改为你的网站
server_name xxx;
# 修改为你的证书存放目录
ssl_certificate /home/cert/xx.pem;
ssl_certificate_key /home/cert/xx.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_CCM_SHA256:TLS_AES_128_CCM_8_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers on;
location / {
# 代理到指定端口
proxy_pass http://127.0.0.1:9093;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
# 展示地址
root /home/doc/cloud-doc;
try_files $uri $uri/ /index.html;
index index.html;
}
}