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 weimob;
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