nginx+supervisor 前后端分离项目的发布流程
[第一部分] 前端发布(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 前后端分离项目的发布流程的更多相关文章
- 使用 Nginx 部署前后端分离项目,解决跨域问题
前后端分离这个问题其实松哥和大家聊过很多了,上周松哥把自己的两个开源项目部署在服务器上以帮助大家可以快速在线预览(喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了 ...
- vue+uwsgi+nginx部署前后端分离项目
前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求. django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染 后端 创建虚拟环境 解决dj ...
- linux --- 部署前后端分离项目
vue + uwsgi +nginx 部署前后端分离项目 准备项目 1.将前端vue项目包和后端django项目包上传服务器,通过lrzsz,直接从windows拖进linux中 2.解压缩操作 前端 ...
- 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& ...
- nginx+vue+uwsgi+django的前后端分离项目部署
Vue+Django前后端分离项目部署,nginx默认端口80,数据提交监听端口9000,反向代理(uwsgi配置)端口9999 1.下载项目文件(统一在/opt/luffyproject目录) (1 ...
- Docker环境下的前后端分离项目部署与运维
本教程将从零开始部署一个前后端分离的开源项目,利用docker虚拟机的容器技术,采用分布式集群部署,将项目转换成为高性能.高负载.高可用的部署方案.包括了MySQL集群.Redis集群.负载均衡.双机 ...
- Yii框架和Vue的完美结合完成前后端分离项目
背景说明 本文假设你对Yii和Vue都比较熟悉,至少都在项目里用过,另外笔者新人,以后不定时放一些干货,欢迎程序媛关注 Yii是一个PHP全端框架,典型的mvc的项目结构,后端接口都是一个控制器里放了 ...
- 喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了
折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...
- 超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS
现在好多使用gitlab-ci的持续集成的教程,大部分都是发布到linux系统上的,但是目前还是有很大一部分企业使用的都是windows系统使用IIS在部署.NET应用程序.这里写一下如何使用gitl ...
随机推荐
- K8S之集群搭建
转自声明 ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建 1.K8S环境搭建的几种方式 搭建K8S环境有几种常见的方式如下: (1)Minikube Minikube是一 ...
- windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问
windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问: 解决方法: 首先重命名系统盘 windows目录下的代号为“SoftwareDistribu ...
- 能轻松背板子的FWT(快速沃尔什变换)
FWT应用 我不知道\(FWT\)的严格定义 百度百科和维基都不知道给一坨什么****东西** FWT(Fast Walsh Fransform),中文名快速沃尔什变换 然后我也不知道\(FWT\)到 ...
- Iview+Vue CDN NetMvC 简单demo
1.引用相关js文件 2.菜单采用静态数据加载 3.效果展示 4.代码下载 https://github.com/sulin888/NetVueAdmin.git
- 常用css初始化样式(淘宝)
最简单粗暴的css初始化样式就是:*{padding:0:margin:0}(不推荐) 淘宝的样式初始化: body, h1, h2, h3, h4, h5, h6, hr, p, blockquot ...
- c#上传下载ftp(支持断点续传)
using System;using System.Net;using System.IO;using System.Text;using System.Net.Sockets;namespace f ...
- VS2010-MFC(MFC常用类:CFile文件操作类)
转自:http://www.jizhuomi.com/software/234.html CFile类概述 如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作 ...
- vue.js+web storm安装及第一个vue.js
小白还是自己写一遍吧 1.下载node.js https://nodejs.org/en/download/ 2.安装淘宝镜像(类似于阿里云的maven中央仓库镜像) 安装时间有点长 安装命令:npm ...
- Docker系列(三):Docker自定义容器镜像
将容器编程镜像: docker commit [repo:tag] 网上有这句话:当我们在制作自己的镜像的时候,会在container中安装一些工具.修改配置,如果不做commit保存 起来,那么co ...
- spring-data-JPA repository自定义方法规则
一.自定义方法的规则 Spring Data JPA框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如find,findBy,read,readBy,get,getBy,然后对剩下的部分进行解 ...