云服务器部署数字花园
1 云服务器获取
阿里云买,现在有活动,99一年,或者免费试用三个月
好像学生认真有300块钱的优惠券
2 云服务器配置
云服务器一般会有ssh连接方式,连接上以后就可以用这篇文章的方法
记得要先去安全组里新建规则把连接端口放开
3 数字花园部署
把云服务器当本地机器来部署:本地部署数字花园
把下面的3.4插入本地部署数字花园,就构成云服务器源码的部署方案
所以笔记到这,默认已经部署好基本的http服务器并能在8080端口访问
3.4 设置本地反向代理(Nginx、pm2)
http服务器默认启动后使用8080端口
但是这样要访问服务器只能通过 ip:8080 才能访问,如果只输入ip或者域名,默认是访问80端口,但是80端口啥都没有,所以,,要设置个代理,把ip或者域名的80端口的访问转到 127.0.0.1:8080 去
当然,如果怕麻烦也可以不做这步,这只是锦上添花
3.4.1 安装必要软件
# 更新系统包
sudo apt update
# 安装 nginx
sudo apt install nginx
# 安装 pm2 (如果还没安装)
npm install -g pm2
启动网站服务
# 进入项目目录
cd ~/digitalgarden
# 使用 pm2 启动服务(8080端口)
pm2 start http-server -- dist -p 8080 --name "digitalgarden"
# 检查服务是否正常运行
pm2 status
# 设置开机自启
pm2 startup
pm2 save
配置 Nginx
创建 Nginx 配置文件:
sudo vim /etc/nginx/sites-available/digitalgarden
关于vim编辑器的使用:vim编辑器
添加以下配置:
server {
listen 80;
server_name czchd.us.kg; # 替换成你的域名
access_log /var/log/nginx/digitalgarden.access.log;
error_log /var/log/nginx/digitalgarden.error.log;
location / {
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
启用配置:
# 创建符号链接
sudo ln -s /etc/nginx/sites-available/digitalgarden /etc/nginx/sites-enabled/
# 删除默认配置(可选)
sudo rm /etc/nginx/sites-enabled/default
# 测试配置是否正确
sudo nginx -t
# 如果测试通过,重启 nginx
sudo systemctl restart nginx
检查服务状态
# 检查 nginx 状态
sudo systemctl status nginx
# 检查 pm2 状态
pm2 status
# 查看 nginx 错误日志
sudo tail -f /var/log/nginx/error.log
# 查看应用日志
pm2 logs digitalgarden
常用维护命令
# Nginx 相关命令
sudo systemctl start nginx # 启动 nginx
sudo systemctl stop nginx # 停止 nginx
sudo systemctl restart nginx # 重启 nginx
sudo systemctl reload nginx # 重新加载配置
# PM2 相关命令
pm2 restart digitalgarden # 重启应用
pm2 stop digitalgarden # 停止应用
pm2 delete digitalgarden # 删除应用
pm2 logs digitalgarden # 查看日志
可选(我没选):配置SSL(HTTPS)
# 安装 certbot
sudo apt install certbot python3-certbot-nginx
# 获取证书并自动配置 nginx
sudo certbot --nginx -d czchd.us.kg
4 知识库更新后的数字花园更新流程
# 查看当前运行的服务
pm2 list
# 停止服务
# 方式一:通过名称停止
pm2 stop digitalgarden # 如果你之前用这个名称启动了服务
# 方式二:通过 id 停止
pm2 stop 0 # 0 是服务的 id 号
# 方式三:停止所有服务
pm2 stop all
# 更新代码并重启服务
# 1. 停止服务
pm2 stop digitalgarden
# 2. git 更新
cd ~/digitalgarden
git pull
# 3. 重新构建(如果需要)
npm run build
# 4. 重启服务
pm2 restart digitalgarden
# 或者重新启动服务
pm2 start http-server -- dist -p 8080 --name "digitalgarden"
查看日志(确认服务正常)
pm2 logs digitalgarden
如果想完全删除服务(不仅是停止),可以使用:
pm2 delete digitalgarden
5 域名申请
阿里云买域名
选择喜欢的域名,购买,如果没有模板实名认证过,不能支付
创建模板实名认证,等几分钟通过后
支付后就拥有这个域名了,可以配置DNS解析
注意,购买到域名后还要去实名备案,备案后通过域名访问网站才能正常打开,否则会是被拦截的警告
6 配置DNS解析
在阿里云控制台添加权威域名解析,将你的域名和云服务器的公网ip填进去