1、安装.net core sdk
下载地址:https://www.microsoft.com/net/download/linux
也可以运行下面代码:
1、sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2、sudo yum update
3、sudo yum install dotnet-sdk-2.1
检测是否安装成功:
运行命令
dotnet --version
显示版本号即安装成功
2、安装也Nginx:
1、sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、sudo yum install -y nginx
3、设置Nginx
使用WinSCP链接到Liunx,进入nginx安装目录,默认配置文件目录为/etc/nginx/conf.d,
修改default.conf文件为以下内容
server {
listen 80;#端口号
server_name xx.com;#绑定的域名
location / {
proxy_pass http://localhost:5000; #.net core的绑定地址
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;
}
}
如上环境配置完成!!
发布流程如下
1、修改.net core 网站项目的项目文件.csproj代码
在PropertyGroup节点下添加
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
保存
2、在项目根目录中添加新文件hosting.json
内容为:
{
"server.urls": "http://*:5000"
}
3、修改Program.cs文件Main函数为如下代码
public static void Main(string[] args)
{
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("hosting.json", optional: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseConfiguration(config)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseApplicationInsights()
.Build();
host.Run();
//BuildWebHost(args).Run();
}
4、将项目发布到系统文件夹
5、在liunx根目录中创建存放网站文件的文件夹www
6、将发布的.net core网站文件全部拷贝到www文件夹中
7、执行命令 nginx
8、执行命令
dotnet /www/网站项目名称.dll
到此显示
Hosting environment: Production
Content root path: /root
Now listening on: http://[::]:5000
Application started. Press Ctrl+C to shut down.
则启动成功,现在就可以正常使用了!
后台启动代码
1、cd /www
2、nohup dotnet 网站项目名称.dll
需要关闭防火墙访问,这里我就不说怎么开放端口了:
systemctl stop firewalld.service