[第一部分] 前端发布(vue项目),假设项目名为demo_vue

Step1:编译打包前端项目

cd到demo_vue目录下,

执行cnpm run build:prod命令,生成disc文件夹

Step2:在服务端新建前端项目文件夹

登录ubuntu,

cd进/home/ubuntu/love目录下

执行mkdir demo_vue新建存放前端编译文件的文件夹

Step3:将编译文件上传到服务端

cd到disc目录下,执行如下命令

scp -r ./* root@love.aizhuhotel.com:/home/ubuntu/love/demo_vue

Step4:配置nginx

cd进/usr/local/nginx/conf目录下,

vim nginx.conf打开nginx配置文件,

配置服务端访问地址

upstream demovue {

server localhost:7788;

}

配置前端访问地址

location /demovue/ {

proxy_pass http://demo/;

}

配置监听端口/项目文件位置/默认启动文件

sever {

listen  端口号;

Location / {

root /home/ubuntu/love/demo_vue/;

index indec.html index.htm;

}

}

Step5:检查配置是否成功并重启nginx

cd进/usr/local/nginx/sbin目录下,

sudo nginx -t 检查配置,

sudo nginx -s reload 重启

[第二部分] 后端发布(.net core项目),假设项目名为demo_api

Step1:编译打包后端项目

cd到项目API目录下,

执行dotnet publish -c disc命令,生成disc文件夹

Step2:在服务端新建前端项目文件夹

登录ubuntu,

cd进/home/ubuntu/love目录下

执行mkdir demo_api新建存放后端编译文件的文件夹

Step3:将编译文件上传到服务端

cd到disc文件夹下publish目录下,执行如下命令

scp -r ./* root@love.aizhuhotel.com:/home/ubuntu/love/demo_api

Step4:配置nginx

cd进/usr/local/nginx/conf目录下,

vim nginx.conf打开nginx配置文件,

配置服务端访问地址

upstream demoapi {

server localhost:8441;

}

配置前端访问地址

location /demoapi/ {

proxy_pass http://demoapi/;

}

Step5:检查配置是否成功并重启nginx

cd进/usr/local/nginx/sbin目录下,

sudo nginx -t 检查配置,

sudo nginx -s reload 重启

Step6:配置supervisor

cd到/etc/supervisor/conf.d目录下,

新建一个后端项目对应的supervisor配置文件touch demoapi.conf

修改配置

{

[program:demoapi程序名称]........................

command=dotnet xxxx.dll启动命令

directory=/home/ubuntu/love/demoapi启动目录

stdout_logfile = /var/log/demoapi.log 日志目录

}

sudo supervisorctl status查看状态

sudo supervisorctl start 启动配置

sudo supervisorctl reload 重新加载

cd进/etc/supervisor目录

supervisorctl restart demoapi重启项目

附(supervisor下项目配置文件)

[program:dldocapi] ; 程序名称,在 supervisorctl 中通过这个值来对程序进行一系列的操作

autorestart=True      ; 程序异常退出后自动重启

autostart=True        ; 在 supervisord 启动的时候也自动启动

redirect_stderr=True  ; 把 stderr 重定向到 stdout,默认 false

environment=PATH="/usr/bin"  ; 可以通过 environment 来添加需要的环境变量,一种常见的用法是使用指定的 virtualenv 环境

command=dotnet DlDoc.API.dll  ; 启动命令,与手动在命令行启动的命令是一样的

user=ubuntu           ; 用哪个用户启动

directory=/home/ubuntu/love/DlDoc_API/  ; 程序的启动目录

stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB

stdout_logfile_backups = 20     ; stdout 日志文件备份数

; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)

stdout_logfile = /var/log/dldocapi.log

nginx+supervisor 前后端分离项目的发布流程的更多相关文章

  1. 使用 Nginx 部署前后端分离项目,解决跨域问题

    前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...

  2. vue+uwsgi+nginx部署前后端分离项目

    前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求. django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染 后端 创建虚拟环境 解决dj ...

  3. linux --- 部署前后端分离项目

    vue + uwsgi +nginx 部署前后端分离项目 准备项目 1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中 2.解压缩操作 前端 ...

  4. List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac

    List多个字段标识过滤 class Program{  public static void Main(string[] args) { List<T> list = new List& ...

  5. nginx+vue+uwsgi+django的前后端分离项目部署

    Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...

  6. Docker环境下的前后端分离项目部署与运维

    本教程将从零开始部署一个前后端分离的开源项目,利用docker虚拟机的容器技术,采用分布式集群部署,将项目转换成为高性能.高负载.高可用的部署方案.包括了MySQL集群.Redis集群.负载均衡.双机 ...

  7. Yii框架和Vue的完美结合完成前后端分离项目

    背景说明 本文假设你对Yii和Vue都比较熟悉,至少都在项目里用过,另外笔者新人,以后不定时放一些干货,欢迎程序媛关注 Yii是一个PHP全端框架,典型的mvc的项目结构,后端接口都是一个控制器里放了 ...

  8. 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  9. 超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS

    现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到linux系统上的,但是目前还是有很大一部分企业使用的都是windows系统使用IIS在部署.NET应用程序.这里写一下如何使用gitl ...

随机推荐

  1. 2018-10-8-3分钟教你搭建-gitea-在-Centos-服务器

    title author date CreateTime categories 3分钟教你搭建 gitea 在 Centos 服务器 lindexi 2018-10-08 09:54:39 +0800 ...

  2. vim 命令行模式 操作指令

      复制n行: nyy 粘贴:p 剪切(删除)n行: ndd 剪切 ( 删除 ) n个字符:nx 移动光标到第一行 : gg 移动光标到最后一行 : G 设置格式  :gg=G 返回上一次操作前(撤销 ...

  3. JS对象 提取指定数目的字符substr() substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。

    提取指定数目的字符substr() substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串. 语法: stringObject.substr(startPos,length ...

  4. @Formula

    @Formula  计算临时属性. 相当于可以关联查询字段,然后放在实体中当做属性使用. 任务:在User实体层,增加一个额外的属性,来获取Test表中的name字段. 1 表结构 User表 Tes ...

  5. sql(2) DISTINCT

    SELECT DISTNCT 列名称 FROM 表名称SQL SELECT DISTINCT 语句在表中,可能会包含重复值. 关键词 DISTINCT 用于返回唯一不同的值. 语法:新建数据库 tes ...

  6. undertow服务器

    参考地址:http://undertow.io/undertow-docs/undertow-docs-1.3.0/index.html 1.引入相关jar <dependencies> ...

  7. 「题解」:X国的军队

    问题 A: X国的军队 时间限制: 1 Sec  内存限制: 256 MB 题面 题面谢绝公开. 题解 简单贪心. 按照存活的士兵数量(即参加战斗的士兵数量减去阵亡的士兵数量)排序. 若存活士兵数量相 ...

  8. Codeforces-GYM101873 G Water Testing 皮克定理

    题意: 给定一个多边形,这个多边形的点都在格点上,问你这个多边形里面包含了几个格点. 题解: 对于格点多边形有一个非常有趣的定理: 多边形的面积S,内部的格点数a和边界上的格点数b,满足如下结论: 2 ...

  9. SpringBoot:目录

    ylbtech-SpringBoot:目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://yl ...

  10. c++中变量、变量名、变量地址、指针、引用等含义

    首先了解内存,内存就是一排房间,编号从0开始,0,1,2,3,4,5...... 房间里面一定要住人,新人住进去了,原来的人就走了:不管你住不住,里面都有人. 编号就是地址.里面的人就是内容,为了我们 ...