一、登录服务器
-
登录跳板机
-
执行 list ,列出所有机器
-
执行 dssh 机器序号 ,如 dssh ,选择机器
二、 创建nginx配置文件
-
进入nginx配置目录: cd usr/local/nginx/conf/vhosts
-
提升权限: sudo su
-
创建配置文件: touch www.my-app.com.conf ,配置文件以
.conf
结尾,( 若有其他默认配置文件,可以修改该文件后缀,让默认配置文件失效 ) -
编辑配置文件内容: vim www.my-app.com.conf ,内容如下:
server {
listen ;
server_name www.my-app.com;
#root /usr/share/nginx/html;
# Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
access_log /data/log/nginx/www.my-app.com.log my-app;
location ~ / {
root /data/www/my-app/dist;
index index.html;
if ($request_filename ~ .*\.(htm|html)$)
{
add_header Cache-Control no-store;
}
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
注:
listen:端口号
server_name:域名
access_log:日志文件在服务器的存储位置(目录需手动创建,日志文件自动生成)
location.root:代码在服务器的存储位置(项目打包后的dist文件夹位置)
-
退出编辑并保存: :wq
三、部署代码
-
本地项目代码打包: npm run build
-
进入配置文件中保存代码的目录: cd /data/www/
-
三种方式上传代码:
-
a. 从远程仓库
clone
,若用http
方式,需输入git仓库的用户名密码;若用ssh
方式,需配置ssh key配置ssh key:
-
在服务器执行 ssh-keygen -t ed25519 -C “email@example.com” ,一直enter,生成ssh key
-
复制生成的公用ssh key, cd /root/.ssh,vim id_ed25519.pub
-
在git仓库,设置 -> ssh 秘钥 -> 粘贴 -> 添加秘钥
-
-
b.
scp
上传-
压缩打包后的dist文件夹, tar -zcvf ./dist.tar.gz ./dist
-
在本地执行 scp /my-app/dist.tar.gz root@xx.xx.xx.xx:/data/www/my-app ,将本地压缩包上传到服务器对应的文件夹中
/data/www/my-app
-
解压上传的文件, tar -zxvf dist.tar.gz
-
删除压缩包, rm -rf dist.tar.gz ,( 也可暂时保存,当做备份 )
-
-
c.
rz -be
上传-
压缩打包后的dist文件夹, tar -zcvf ./dist.tar.gz ./dist ,
-
在服务器执行 rz -be ,手动上传压缩包
-
解压上传的文件, tar -zxvf dist.tar.gz
-
删除压缩包, rm -rf dist.tar.gz ,( 也可暂时保存,当做备份 )
-
-
四、重启nginx
-
进入nginx执行文件目录, cd /usr/local/nginx/sbin
-
若nginx未启动,启动nginx, ./nginx
-
若nginx已启动,重新启动nginx, ./nginx -s reload