首先安装依赖:
#注册 Microsoft 密钥。注册产品存储库。安装必需的依赖项。
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
#安装 .NET Core 运行时
sudo yum install aspnetcore-runtime-3.1
安装完成后输入命令:dotnet --info如下:
说明安装成功
发布项目:
首先在Program.cs文件得CreateHostBuilder方法内添加webBuilder.UseUrls("http://*:5000;https://*:5001;");//Linux部署指定端口:
项目右键-发布:
发布方法选择文件系统,目标位置选择你要发布的目录:
发布设置,如下图:
点击发布(我之前发布成功过,所以才有发布成功字样):
发布成功后,将发布目录打包zip文件,使用xftp或者其它工具上传至linux你自己的目录,我得目录为自己新建的/opt/xxx,opt为根目录,xxx则为你自己新建的NetCore发布得程序目录,我这里文件夹名为netcore31:
使用xshell链接服务器,使用cd命令进入/opt/netcore31目录解压,解压命令:unzip test.zip test.zip为你发布得程序打包文件,解压后路径:/opt/netcore31/test
使用cd命令进入:cd /opt/netcore31/test 执行启动命令: dotnet xxx.dll --urls=http://*:5000,xxx为你得dll文件名,我这里默认5000端口,在你的浏览器上输入你得服务器地址即可访问,如:http://192.168.0.1:5000或者使用postmain等其它工具测试
开机自启:
我们使用上面的命令启动后可以正常访问,但是一旦关机重启你就需要重新使用命令启动,所以设置开机自启还是有必要的
使用命令(没有文件则新建)vim /etc/systemd/system/xxx.service,将以下内容复制到xxx.service文件中:
[Unit]
Description=xxxapi
[Service]
WorkingDirectory=/opt/netcore31/test #工作目录
#启动命令
ExecStart=/usr/bin/dotnet /opt/netcore31/test/xxx.dll
Restart=always #设置服务停止后一直重启
RestartSec=10 #服务停止后10秒开始重启
SyslogIdentifier=dotnet-xxxapi
#换成你自己得用户名,root或者其它账号
User=xxx
#Production:生产环境 Development:开发环境
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
先按一下Esc后,输入:wq( 冒号不要忘记,字母wq)保存退出
按一下Esc后,输入:q!( 冒号不要忘记,字母q,叹号)则直接退出,不保存
以上完成后,依次输入命令:
#设置自启动
systemctl enable xxx.service
#立即启动服务
systemctl start xxx.service
#最后检查下服务运行状态
systemctl status xxx.service
#显示所有已启动的服务
systemctl list-units --type=service
#所有启用的服务
systemctl list-unit-files|grep enabled
#移除开机启动项的服务
systemctl disable xxx.service
成功后,如下图:
执行命令期间出现,一些错误请重启服务器再试,重启后请先查看启动状态,输入命令:systemctl status xxx.service,显示如上图,说明开机启动已生效
此时,使用浏览器或者其它工具即可访问该程序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)