一、登录服务器

  1. 登录跳板机

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

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


二、 创建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 ;
    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文件夹位置)

  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/.ssh,vim 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

nginx前端服务部署的更多相关文章

  1. nginx——前端服务环境

    背景:之前一直使用tomcat服务器来作为测试环境:(vue项目打包后想测试下生产环境下有没有问题!使用tomcat有各种问题,还怀疑是我们源码有问题?尴尬)今天公司同事才告诉我tomcat是专门为j ...

  2. Dockerfile + Nginx.conf文件记录(用于前端项目部署)

    Dockerfile + Nginx.conf文件记录(用于前端项目部署) 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统(敏感信息都进行了处理),默认服 ...

  3. nginx服务部署 说明

    第1章 常用的软件 1.1 常用来提供静态服务的软件   Apache :这是中小型Web服务的主流,Web服务器中的老大哥,   Nginx :大型网站Web服务的主流,曾经Web服务器中的初生牛犊 ...

  4. Nginx服务部署

    1 企业常用网站服务 处理静态资源:nginx.apache.Lighttpd处理动态资源:tomcat(java语言编写).php(php语言编写).python(python语言编写)nginx网 ...

  5. 使用idea开发工具,nginx服务部署Extjs6,SpringBoot项目到服务器

    编译ExtJs文件 1.输入命令 2.开始编译 3.找到编译后的文件 E:\idea_project\BaiSheng_Model\fin-ui\build\production\Admin 4.将文 ...

  6. Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等)

    Linux服务部署Yapi 一,介绍与需求 1,我的安装环境:CentOS7+Node10.13.0+MongoDB4.0.10. 2,首先安装wget,用于下载node等其他工具 yum insta ...

  7. 服务发现之consul理论整理_结合Docker+nginx+Tomcat简单部署案例

    目录 一.理论概述 服务发现的概念简述 consul简述 二.部署docker+consul+Nginx案例 环境 部署 三.测试 四.总结 一.理论概述 服务发现的概念简述 在以前使用的是,N台机器 ...

  8. 部署Nginx网站服务实现访问状态统计以及访问控制功能

    原文:https://blog.51cto.com/11134648/2130987 Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物 ...

  9. 【转】Linux服务部署--Java(三) Nginx

    原文地址:Nginx Linux详细安装部署教程 一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下 ...

随机推荐

  1. F5 BIG-IP之一前期随笔(应用交付网络产品)

    ADN:应用交付网络 TMOS:  Traffic  managment  operation  system  (流量管理系统) 一个实时的全应用代理流量管理操作系统             PVA ...

  2. swagger-ui不显示问题定位

    1. 现象1 正常情况是 group会显示default/v2/api-docs 不知道是什么原因, 一个app可以展示,但另一个app不展示,配置也基本相同 1.1 定位过程 正常的app访问时的结 ...

  3. java和javac命令

    记录一下,今天无意中用到单独编译和执行某个java类,遇到各种Error: Could not find or load main class等问题,解决方案如下其中2和3选其一试试~ 1.javac ...

  4. JVM 的内存布局

    这是jdk7以后的版本 1. Heap(堆区) Heap OOM 障最主要的发源地, 它存储着几乎所有的实例对象, 堆由垃圾收集器自动回收, 堆区由各子线程共享使用.通常情况下 它占用的空间是所有内存 ...

  5. svn安装使用1(转载)

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  6. highcharts 柱状图在柱子顶部显示y轴数据

    var plotOptions={ column:{ //borderColor: "#CCCC66",//边框 shadow: true, //阴影 dataLabels:{ / ...

  7. 同步linux系统时间

    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC). 系统时间:指当前Linux Kernel中的时间. 硬件时间:主板上有电池供电的时 ...

  8. linux在线书籍

    <Linux就该这么学-刘遄>https://www.linuxprobe.com/

  9. 【GBK、UTF-8、ISO8859-1】三种编码方式总结及实例

    感谢:https://blog.csdn.net/youngstar70/article/details/64117297 一.总结 在Java中,String的getBytes()方法是得到一个操作 ...

  10. 用数组实现队列(C++)

    #include <iostream> using namespace std; template<typename T, int size = 0> class Queue ...