Ubuntu 18.04 安装部署Net Core、Nginx全过程
Ubuntu 18.04 安装部署Net Core、Nginx全过程
环境配置
Ubuntu 18.04 ,Nginx,.Net Core 2.1, Let's Encrypt
更新系统
sudo apt-get update
sudo apt-get upgrade
安装Net Core
参考文档地址:https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial#install
- Register Microsoft key and feed
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
- Install .NET SDK
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1
- 创建 ASP.NET Core 演示网站并发布(此部分根据实际需要修改)
# 下载一个演示型站点
git clone https://github.com/linezero/NETCoreBBS
vim NETCoreBBS/src/NetCoreBBS/Program.cs
# 默认为 80 端口,这里修改为 8000 端口
.UseUrls("http://*:8000")
# 编译并发布
$ cd NETCoreBBS
$ dotnet restore
$ dotnet publish
$ sudo dotnet publish -c Release -o /var/bbs.xyfy.loan #发布到指定目录
- 部署并后台运行网站
# 进入发布后的位置,开始运行
$ cd /var/bbs.xyfy.loan
# 安装 Supervisor
$ sudo apt-get install supervisor
# 配置 Supervisor
$ sudo vim /etc/supervisor/conf.d/NetCoreBBS.conf
[program:NetCoreBBS]
directory=/var/bbs.xyfy.loan
command=dotnet NetCoreBBS.dll
autostart=true
autorestart=true
startsecs=10
startretries=50
stderr_logfile=/var/log/NetCoreBBS.err.log
stdout_logfile=/var/log/NetCoreBBS.out.log
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
# 重启supervisor
$ sudo /etc/init.d/supervisor restart
# 如果一切配置正确,查看相应日志你可以看到类似以下输出,表示应用已正常启动。
$ tail -f /var/log/NetCoreBBS.out.log
Hosting environment: Production
Content root path: /root/dotnet/NETCoreBBS/src/NetCoreBBS/bin/Debug/netcoreapp2.0/publish
Now listening on: http://[::]:8000
Application started. Press Ctrl+C to shut down.
安装Nginx
# 安装
$ sudo apt-get install nginx
安装配置Let's Encrypt [此处作废,最好只生成证书,而不对nginx配置做出修改,如果你只有一个站点,并且不需要反向代理,可以使用此方法]
- Installing Certbot 安装Certbot
# 安装Certbot
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python3-certbot-nginx # install Certbot's Nginx package
- Setting up Nginx
# 配置域名
$ sudo vim /etc/nginx/sites-available/default
# 寻找server_name这行配置然后使用自己的域名替换修改下划线_
# server_name www.xyfy.loan bbs.xyfy.loan;
# 测试配置
$ sudo nginx -t
# 启用配置
$ sudo service nginx reload
- Obtaining an SSL Certificate 申请ssl证书
# 申请证书
$ sudo certbot --nginx -d www.xyfy.loan -d bbs.xyfy.loan
$ 尝试证书自动续期
$ sudo certbot renew --dry-run
配置Nginx反向代理[证书是另外生成的]
# 反向代理
$ sudo vi /etc/nginx/sites-enabled/www.xyfy.loan.conf
server {
listen 80 ;
server_name www.xyfy.loan;
return 301 https://$server_name$request_uri;
}
##
upstream wwwxyfyloan {
#ip_hash;
server localhost:8000;
#server 172.18.28.109:8001;
ip_hash;
}
##
server {
listen 443 ssl;
server_name www.xyfy.loan;
ssl_certificate certs/www.xyfy.loan.crt;
ssl_certificate_key certs/www.xyfy.loan.key;
location / {
proxy_pass http://wwwxyfyloan;
}
}
# 符号连接
$ cd /etc/nginx/sites-enabled
$ sudo ln -s /etc/nginx/sites-available/www.xyfy.loan.conf www.xyfy.loan.conf
# 重启
$ sudo nginx -t
$ sudo service nginx reload
Ubuntu 18.04 安装部署Net Core、Nginx全过程的更多相关文章
- Ubuntu 18.04 安装MySQL
最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料 VMware W ...
- Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动
目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...
- 在Ubuntu 18.04 安装 MySQL 8.0
在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...
- Ubuntu 18.04 安装和常用软件安装
Ubuntu 18.04 安装 下载 Ubuntu 制作 U 盘启动盘 设置电脑为 U 盘启动 插入 U 盘,重启电脑 按照提示安装 Ubuntu 更新 NVIDIA 显卡和 Broadcom 无线网 ...
- Ubuntu 18.04安装MongoDB 4.0(社区版)
Ubuntu 18.04(虚拟机VirtualBox上),MongoDB 4.0, 听室友说,23点有世界杯决赛呢!可是,孤要写博文的啊!以记录这忙乱的下午和晚间成功安装了一个软件到Linux上.—— ...
- 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)【转】
本文转载自:https://blog.csdn.net/u010801439/article/details/80483036 ubuntu 18.04 安装GPU +CUDA+cuDNN : 目前, ...
- [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程
Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...
- Ubuntu 18.04安装arm-linux-gcc交叉编译器
Ubuntu 18.04安装arm-linux-gcc交叉编译器
- Ubuntu 18.04安装Samba服务器及配置
Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...
随机推荐
- 关于FIFO异步复位的问题
关于FIFO异步复位的问题 FIFO异步复位的宽度,需要保证至少3个较慢时钟的时钟周期长度. 怎样对一个脉冲加宽呢? `timescale 1ns / 1ps //////////////////// ...
- Eureka入门案例
1.整体思路 1.1.服务注册中心Eureka(可以是一个集群,对外暴露自己的地址) 1.2.服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务) 1.3.客户端消费者:向Eureka ...
- 如何快速开发html5跨平台K12/幼儿交互课件、动画课件、交互游戏
flash交互课件能生动表达教学内容,也深受广大教育工作者的喜爱,但是目前flash课件只能在pc电脑平台上进行展示,随着移动网络的发展,越来越多的课件产品需要移殖到各种移动平台(手机,pad,智能电 ...
- 第三节 Python基础之数据类型(列表,元组,字典)
列表,简单说就是用[]括起来的一大堆数据,这些数据我们叫做元素,元素与元素之间用","隔开,这些元素可以是数字,布尔值,字符串,列表等等,基本所有的数据类型都可以放在列表里边,同时 ...
- C# .NET XML 序列化为对象,反序列化
如果遇到: 根级别上的数据无效. 行 1,位置 1 .:即无法反序列化(反序列失败),得到对象为null ,把 xml 文本 Trim一下. xml=xml.Trim(); 序列化完毕你可以看 ...
- 【Leecode】两数之和
学习使用标准模板库(STL)中的map,hash_map.涉及数据结构知识:哈希表,红黑树. map的使用方法 https://www.cnblogs.com/fnlingnzb-learner/p/ ...
- 13行代码实现:Python实时视频采集(附源码)
一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...
- HTML 部分非常用标签
标签 描述 示例 <!DOCTYPE> 定义文档类型. HTML5 : <!DOCTYPE html> HTML4.* :<!DOCTYPE HTML PUBLIC & ...
- 微信小程序中的组件使用1
不管是vue还是react中,都在强调组件思想,同样,在微信小程序中也是使用组件思想来实现页面复用的,下面就简单介绍一下微信小程序中的组件思想. 组件定义与使用 要使用组件,首先需要有组件页面和使用组 ...
- Google SketchUp Cookbook: (Chapter 5) Roofs: Constraints and Inferences
软件环境 SketchUp Pro 2018 参考书籍 Google SketchUp Cookbook Creating an Overhanging Roof 屋顶上有一个缝隙需要填充,有两种方法 ...