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全过程的更多相关文章

  1. Ubuntu 18.04 安装MySQL

    最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料   VMware W ...

  2. Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动

    目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...

  3. 在Ubuntu 18.04 安装 MySQL 8.0

    在Ubuntu 18.04 安装 MySQL 8.0 ① 登入 mysql 官网,在官网中下载 deb 包,点击该链接,即可下载. https://dev.mysql.com/downloads/re ...

  4. Ubuntu 18.04 安装和常用软件安装

    Ubuntu 18.04 安装 下载 Ubuntu 制作 U 盘启动盘 设置电脑为 U 盘启动 插入 U 盘,重启电脑 按照提示安装 Ubuntu 更新 NVIDIA 显卡和 Broadcom 无线网 ...

  5. Ubuntu 18.04安装MongoDB 4.0(社区版)

    Ubuntu 18.04(虚拟机VirtualBox上),MongoDB 4.0, 听室友说,23点有世界杯决赛呢!可是,孤要写博文的啊!以记录这忙乱的下午和晚间成功安装了一个软件到Linux上.—— ...

  6. 真实机下 ubuntu 18.04 安装GPU +CUDA+cuDNN 以及其版本选择(亲测非常实用)【转】

    本文转载自:https://blog.csdn.net/u010801439/article/details/80483036 ubuntu 18.04 安装GPU +CUDA+cuDNN : 目前, ...

  7. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  8. Ubuntu 18.04安装arm-linux-gcc交叉编译器

    Ubuntu 18.04安装arm-linux-gcc交叉编译器

  9. Ubuntu 18.04安装Samba服务器及配置

    Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...

随机推荐

  1. jquery 获取name一样的值

    $("input[name=test]").map(function(){return this.value;}).get().join(",")

  2. iis重写模块实现程序自动二级域名,微软提供的URL重写2.0版本适用IIS以上

    在iis7以后微软提供了url重写2.0版本,可以通过安装重写组件来实现.适用于iis7以上版本. 安装有两种方式可以选择,一是下载安装文件,二是通过“web平台安装程序”安装 1.下载安装文件 下载 ...

  3. ionic3使用@angular/http 访问nodejs(koa2框架)服务不能返回数据

    cordova的http插件不能使用在browser上,所以当需要在browser上浏览时,需要使用@angular/http 里的方法来访问nodejs服务. 如果出现服务端能够接收请求并相应,而客 ...

  4. 使用Visual Studio Code开发(编译、调试)C++程序

    总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...

  5. .Net Core跨平台应用研究-CustomSerialPort(增强型跨平台串口类库)

    .Net Core跨平台应用研究-CustomSerialPort -增强型跨平台串口类库 摘要 在使用SerialPort进行串口协议解析过程中,经常遇到接收单帧协议数据串口接收事件多次触发,协议解 ...

  6. Python3学习的准备工作

    简单好用的桌面开发平台:ubuntu 16.x/18.x 或 LinuxMint 18.x 开发工具:新版操作系统都自带有Python3.5及更高版本 其实作为初学者,不要迷信版本,也不必着急升级成最 ...

  7. Linux系统编程——fcntl

    fcntl可实现对指定文件描述符的各种操作,其函数原型如下: int fcntl(int fd, int cmd, ... /* arg */ ); 头文件 #include <unistd.h ...

  8. idea git commit撤销

    到项目目录下,打开git bash 1.git log 找到要撤销的版本id1 commit之前的版本id2 2.git reset –hard id13.git reset id2 参考链接:htt ...

  9. dll导出函数的两种方式的比较

    最初的网页链接已经挂了, 在此贴一个中间的转载链接 https://blog.csdn.net/zhazhiqiang/article/details/51577523 一 概要 vs中导出 dll的 ...

  10. Linux系统中的计划任务

    在系统的工作管理中,我们经常会有需要去告诉电脑某些特定的时间执行一些操作,比如定时提醒工作人员需要做什么事情,或者在每天凌晨进行文件备份等等.这就需要某些命令来达成计划任务. 计划任务可以大体上分成两 ...