nginx前端服务部署
-
-
执行 list ,列出所有机器
-
执行 dssh 机器序号 ,如 dssh 1 ,选择机器
二、 创建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 80; 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