ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问
2021-04-21 13:27
标签:dir sign 网站 strong bin cst 成功 always 地址 我用的是Ubuntu服务器器 [Ubuntu 18.04 x64] 和终端管理工具【Xshell】 在服务器上安装.NET Core 1、创建实例程序 可以直接使用.NET Core 的命令创建一个ASP.NET Core 示例网站应用程序,创建目录 /home/myuser/firstapp,执行命令: 接着,发布刚才创建的ASP.NET Core 网站发网站目录,所以,我们先创建一个网站发布目录:/var/www/firstapp,运行dotnet发布命令: dotnet命令将把ASP.NET Core 2.0 示例网站发布到目录:/home/myuser/firstapp/bin/release/netcoreapp2.0/publish/ 中,拷贝发布后的ASP.NET Core 2.0网站程序: 2、或者拿自己创建的程序发布后 拷贝至服务器上。 将发布后的publish目录下的文件拷贝至一个网站发布目录 我们需要配置 编辑内容如下: 启用并启动服务 现在,我们的示例网站就可以通过5000端口在服务器端访问了,在终端使用w3m命令: 说明我们的ASP.NET Core 网站应用程序在linux服务器上配置成功了。 但是,这个示例程序现在还只能在服务器中访问,外网是不能访问的。 nginx的使用 使用 vim 配置nginx的服务配置 将nginx的配置替换成如下的配置: 或者 现在你的ASP.NET Core 网站可以通过外网ip访问了,如果你还想让你的网站支持通过域名访问,那nginx中配置也是非常简单的: 其中:www.your_domain_name.com 即为你的域名,修改配置后,重新加载nginx配置: ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问 标签:dir sign 网站 strong bin cst 成功 always 地址 原文地址:https://www.cnblogs.com/peterYong/p/12249938.html一、准备
二、安装
三、部署程序
dotnet new mvc
dotnet restore
dotnet publish -c release
scp -r /home/myuser/firstapp/bin/release/netcoreapp2.0/publish/* /var/www/firstapp
四、将执行程序设置为服务
systemd
来让 dotnet core程序
成为一个服务并启动。创建服务文件:sudo vim /etc/systemd/system/myApp.service
[Unit]
Description=My ASP.Net Core Project
[Service]
WorkingDirectory=/var/www/firstapp
ExecStart=/usr/bin/dotnet /var/www/firstapp/firstapp.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-firstapp
User=myuser
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
sudo systemctl enable myApp.service # 注册服务
sudo systemctl start myApp.service # 启动服务
sudo systemctl status myApp.service # 检查服务的运行状态
w3m http://localhost:5000
五:Nginx反向代理
sudo apt-get install nginx
sudo vim /etc/nginx/sites-available/default
server {
listen 80;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen aa.xx.yy.zz:80; //服务器内网地址
server_name aa.xx.yy.zz; //服务器内网地址
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen 80;
server_name www.your_domain_name.com;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
systemctl reload nginx
上一篇:「JSOI2014」序列维护
文章标题:ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问
文章链接:http://soscw.com/essay/77621.html