一、登录服务器

  1. 登录跳板机

  2. 执行list,列出所有机器

  3. 执行dssh 机器序号,如dssh 1,选择机器


 

二、 创建nginx配置文件

  1. 进入nginx配置目录:cd usr/local/nginx/conf/vhosts

  2. 提升权限,执行sudo su

  3. 创建配置文件:touch www.my-app.com.conf,配置文件以.conf结尾,( 若有其他默认配置文件,可以修改该文件后缀,让默认配置文件失效 )

  4. 编辑配置文件内容,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文件夹位置)

     

  5. 退出编辑并保存,:wq


 

三、部署代码

  1. 本地项目代码打包,npm run build

  2. 进入配置文件中保存代码的目录,cd /data/www/

  3. 三种方式上传代码:

    • a. 从远程仓库clone,若用http方式,需输入git仓库的用户名密码;若用ssh方式,需配置ssh key

      配置ssh key:

      1. 在服务器执行ssh-keygen -t ed25519 -C "email@example.com",一直enter,生成ssh key

      2. 复制生成的公用ssh key,cd /root/.sshvim id_ed25519.pub

      3. 在git仓库,设置 -> ssh 秘钥 -> 粘贴 -> 添加秘钥

    • b. scp上传

      1. 压缩打包后的dist文件夹,tar -zcvf ./dist.tar.gz ./dist

      2. 在本地执行 scp /my-app/dist.tar.gz root@xx.xx.xx.xx:/data/www/my-app,将本地压缩包上传到服务器对应的文件夹中/data/www/my-app

      3. 解压上传的文件,tar -zxvf dist.tar.gz

      4. 删除压缩包,rm -rf dist.tar.gz,( 也可暂时保存,当做备份 )

    • c. rz -be 上传

      1. 压缩打包后的dist文件夹,tar -zcvf ./dist.tar.gz ./dist

      2. 在服务器执行rz -be,手动上传压缩包

      3. 解压上传的文件,tar -zxvf dist.tar.gz

      4. 删除压缩包,rm -rf dist.tar.gz,( 也可暂时保存,当做备份 )


 

四、重启nginx

  1. 进入nginx执行文件目录,cd /usr/local/nginx/sbin

  2. 若nginx未启动,启动nginx,./nginx

  3. 若nginx已启动,重新启动nginx,./nginx -s reload

版权声明:本文为chaoxiZ原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chaoxiZ/p/12464474.html