下面是详细讲解“nginx部署.net core站点的方法”的完整攻略。
一. 安装和配置.NET Core SDK
-
首先,需要在服务器上安装.NET Core SDK,这样才能运行.NET Core应用程序。
-
打开终端并运行以下命令安装.NET Core SDK:
shell
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install -y dotnet-sdk-3.1
- 安装完成后,为了确保.NET Core SDK已正确安装,请运行以下命令:
shell
dotnet --version
如果返回版本号,则证明.NET Core SDK已经成功安装。
二. 构建.NET Core应用程序
-
创建.NET Core项目,并确保它能够在本地正常运行。
-
确保您的.NET Core应用程序配置了正确的端口,一般使用80或8080端口。
-
在命令行中进入您的.NET Core应用程序目录,然后执行以下命令进行构建:
shell
dotnet publish -c Release
此命令会将您的应用程序编译生成发布版,并将其放置在bin/Release/netcoreapp3.1/publish
目录中。
三. 安装Nginx
- 使用以下命令安装Nginx:
shell
sudo apt-get install -y nginx
- 安装完成后,启动Nginx服务:
shell
sudo service nginx start
四. 创建Nginx站点配置文件
- 在
/etc/nginx/sites-available
目录中创建一个新文件,用于配置应用程序的Nginx站点。
shell
sudo nano /etc/nginx/sites-available/your-domain.com
注意:将your-domain.com
替换为您的实际域名。
- 将以下内容复制到此文件中:
```
server {
listen 80;
server_name your-domain.com; #将your-domain.com替换为您的域名
location / {
proxy_pass http://localhost:5000; #将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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
- 保存配置文件并退出编辑器。
五. 连接站点配置
- 在
/etc/nginx/sites-enabled
目录中创建一个符号链接,指向刚才创建的配置文件。
shell
sudo ln -s /etc/nginx/sites-available/your-domain.com /etc/nginx/sites-enabled/
注意:将your-domain.com
替换为您的实际域名。
- 测试语法并重新加载nginx服务器配置:
shell
sudo nginx -t
sudo service nginx reload
六. 发布.NET Core应用程序
-
推回应用程序,然后在服务器中的
/var/www/your-domain.com
目录中创建一个新文件夹。 -
将
.NET Core
应用程序发布版的内容从本地复制到服务器中新建的文件夹中:
shell
scp -r /path/to/published/app/* user@yourserver:/var/www/your-domain.com/
注意:将/path/to/published/app
替换为您的应用程序发布版的路径,并将user@yourserver
替换为您的服务器用户名和IP地址。
- 确认应用程序的文件夹拥有应当拥有的权限:
shell
sudo chown -R www-data /var/www/your-domain.com
- 启动应用程序:
shell
dotnet your-app.dll
注意:将your-app.dll
替换为您的.NET Core
应用程序的启动文件。
现在,您已经成功将.Net Core
应用程序部署到Nginx上,并且可以通过您的域名进行访问。
两条实际操作示例
示例一:使用默认端口80
- 修改配置文件
sudo nano /etc/nginx/sites-available/your-domain.com
server {
- listen 80 default_server;
+ listen 80;
server_name your-domain.com; #将your-domain.com替换为您的域名
location / {
proxy_pass http://localhost:5000; #将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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
- 测试语法并重新加载nginx服务器配置
sudo nginx -t
sudo service nginx reload
- 启动应用程序
dotnet your-app.dll
示例二:使用自定义端口8080
- 修改配置文件
sudo nano /etc/nginx/sites-available/your-domain.com
server {
- listen 80;
+ listen 8080;
server_name your-domain.com; #将your-domain.com替换为您的域名
location / {
proxy_pass http://localhost:5000; #将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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
- 测试语法并重新加载nginx服务器配置
sudo nginx -t
sudo service nginx reload
- 启动应用程序
dotnet your-app.dll --urls http://localhost:5000;http://your-domain.com:8080
注意:将your-app.dll
替换为您的.NET Core
应用程序的启动文件,并将your-domain.com
替换为您的实际域名。此命令中,-urls
参数用于指定应用程序的监听地址,包括本地地址http://localhost:5000
和外部地址http://your-domain.com:8080
,确保应用程序可以通过8080端口访问。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nginx部署.net core站点的方法 - Python技术站