.net core2.2 利用Nginx反向代理在Ubuntu下部署

摘要:
如果我们同一台服务器上要部署多个web应用呢,两个程序不能同时使用80端口。这个会扯远,回到正题1.安装Nginxsudoaptinstallnginx安装完后,通过浏览器运行一下出来这个画面就表示安装成功了2.修改配置文件sudovim/etc/nginx/sites-enabled/default将配置文件修改成如下:server{listen80;location/{proxy_passhttp://localhost:8080;proxy_set_headerHost$host;proxy_http_version1.1;}}重启一下nginxnginx-sreload此时我们在浏览器访问一下80端口试试此时表示配置完成了我们登录一下后台,在登录的时候可能会出现验证码出不来控制台出现这么一个问题,那我们怎么解决呢?

一、需要给ubuntu安装.netcore的环境

我这儿使用的是Ubuntu18.04,安装的是.net core 2.2

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2

二、用VS2017编译并发布.netcore项目

1.设定项目的端口号,建议写到配置文件中
在这里插入图片描述
2.发布
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
部署模式改成独立,目标运行时选择linux-x64

发布完后将文件复制到ubuntu下(虚拟机可以用vmware-tools拖进去,服务器的话,可以使用sftp等工具)

三、在ubuntu下运行项目

在发布文件目录下,运行发布后的dll
我这儿是XingHe.WebUI.dll
在这里插入图片描述
出来这个画面表示已经运行了
此时我们可以使用浏览器运行测试一下
在这里插入图片描述
如果运行出了问题,可能是开了防火墙,我们把8080端口开放一下,顺便把80端口也开放一下

sudo ufw allow 8080
sudo ufw allow 80

四,利用Nginx反向代理(目的是通过访问80端口来间接访问8080端口)

肯定会有人问,为什么不直接使用80端口呢。(其实这是可以的)
如果我们同一台服务器上要部署多个web应用呢,两个程序不能同时使用80端口。
这个会扯远,回到正题

1.安装Nginx

sudo apt install nginx

安装完后,通过浏览器运行一下
在这里插入图片描述
出来这个画面就表示安装成功了

2.修改配置文件

sudo vim /etc/nginx/sites-enabled/default

将配置文件修改成如下:

server{
       listen 80;
       location /{
                   proxy_pass http://localhost:8080;
                   proxy_set_header Host $host;
                   proxy_http_version 1.1;
                 }
}

重启一下nginx

nginx -s reload

此时我们在浏览器访问一下80端口试试
在这里插入图片描述
此时表示配置完成了

我们登录一下后台,在登录的时候可能会出现验证码出不来
控制台出现这么一个问题,那我们怎么解决呢?
在这里插入图片描述
具体操作如下:

apt-get update
apt-get install -y libgdiplus
cd /usr/lib
ln -s libgdiplus.so gdiplus.dll

然后重启一下dotnet项目(不是重启nginx)

五、利用Ngiux反向代理多个dotnet core项目
比如abc.test.comdef.test.com 都指向这台linux服务器IP
我们想通过abc.test.com来访问8080端口
通过def.test.com来访问8081端口
我们该怎么配置呢?

sudo vim /etc/nginx/sites-enabled/default

修改如下:

server {  
        listen 80;  
        server_name abc.test.com;   
        location / {  
 	        proxy_pass http://localhost:8080;
	        proxy_set_header Host $host;
            proxy_http_version 1.1;
        }       
    }  
server {  
        listen 80;  
        server_name  def.test.com;  
        location / {  
            proxy_pass http://localhost:8081;
            proxy_set_header Host $host;
            proxy_http_version 1.1; 
        }          
    }  

最后重启一下nginx

nginx -s reload

OK就到这儿吧(如有错误,欢迎大家指正)

免责声明:文章转载自《.net core2.2 利用Nginx反向代理在Ubuntu下部署》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇AngularJs一些记录使用selenium的方式获取网页中图片的链接和网页的链接,来判断是否是死链(二)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

kali安装pip

因为直接安装会报错,所以先要 sudo apt-get install update sudo apt-get install --fix-missing 最后在安装pip sudo apt-get install python3-pip 哎,坑太多,折腾了好久,简单记录一下...

shell命令--sudo

shell命令--sudo 0、sudo命令的专属图床 点此快速打开文章【图床_shell命令sudo】 1、sudo命令的功能说明 ​ sudo 命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。使用权限:在 /etc/sudoers 中有出现的使用者。 2、sudo命令的语法格式 SYNOPSIS...

UOS上如何安装rpm包

UOS的软件包格式是deb,如果要安装rpm的包则要先把rpm转换成deb才可以安装。 步骤如下: 1、UOS下安装alien sudo apt-get install alien 2、将rpm包转为deb包 sudo alien -d xxxx.rpm #将rpm转换位deb成功后会生成一个同名的xxxx.deb 3、安装deb包 sudo dpkg...

nginx反向代理+负载均衡+https

  A服务器(192.168.133.1)作为nginx代理服务器   B服务器(192.168.133.2)作为后端真实服务器 访问https://www.test.com请求从A服务器上反向代理到B服务器上 A服务器192.168.133.1的操作流程 1)编译安装nginx省略 2)配置nginx cd /usr/local/nginx/conf v...

免杀工具汇总

今天整理以前的笔记,把这部分工具整理了一下,虽然没有白利用稳,但这些工具也能在一定程度起到一定的免杀作用。 DKMC 项目地址: https://github.com/Mr-Un1k0d3r/DKMC   可以创建一个 outputs 文件夹 存放 shellcode 启动 python dkmc.py 操作顺序: Sc :是将 msf 生成的 raw...

腾讯云ubuntu18.04启用root用户

需求场景 腾讯开通的ubuntu主机,默认用户是ubuntu,并且这个ubuntu的权限还是相对比较低的,虽然提升了安全性,可是对于个人站长来说方便才是硬道理,自己也不会用root用户瞎操作。这个时候就需要用权限更大的root用户登录操作了。 步骤一:设置root密码 sudo passwd root回车设置两次密码即可 步骤二:修改ssh登录的配置 很多...