ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2520字,纯文字阅读大概需要4分钟。
内容图文
一、准备
我用的是Ubuntu服务器器 [Ubuntu 18.04 x64] 和终端管理工具【Xshell】
二、安装
在服务器上安装.NET Core
三、部署程序
1、创建实例程序
可以直接使用.NET Core 的命令创建一个ASP.NET Core 示例网站应用程序,创建目录 /home/myuser/firstapp,执行命令:
dotnet new mvc
接着,发布刚才创建的ASP.NET Core 网站发网站目录,所以,我们先创建一个网站发布目录:/var/www/firstapp,运行dotnet发布命令:
dotnet restore
dotnet publish -c release
dotnet命令将把ASP.NET Core 2.0 示例网站发布到目录:/home/myuser/firstapp/bin/release/netcoreapp2.0/publish/ 中,拷贝发布后的ASP.NET Core 2.0网站程序:
scp -r /home/myuser/firstapp/bin/release/netcoreapp2.0/publish/* /var/www/firstapp
2、或者拿自己创建的程序发布后 拷贝至服务器上。
将发布后的publish目录下的文件拷贝至一个网站发布目录
四、将执行程序设置为服务
我们需要配置 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 # 检查服务的运行状态
现在,我们的示例网站就可以通过5000端口在服务器端访问了,在终端使用w3m命令:
w3m http://localhost:5000
说明我们的ASP.NET Core 网站应用程序在linux服务器上配置成功了。
但是,这个示例程序现在还只能在服务器中访问,外网是不能访问的。
五:Nginx反向代理
sudo apt-get install nginx
使用 vim 配置nginx的服务配置
sudo vim /etc/nginx/sites-available/default
将nginx的配置替换成如下的配置:
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;
}
}
现在你的ASP.NET Core 网站可以通过外网ip访问了,如果你还想让你的网站支持通过域名访问,那nginx中配置也是非常简单的:
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;
}
}
其中:www.your_domain_name.com 即为你的域名,修改配置后,重新加载nginx配置:
systemctl reload nginx
原文:https://www.cnblogs.com/peterYong/p/12249938.html
内容总结
以上是互联网集市为您收集整理的ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问全部内容,希望文章能够帮你解决ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。