记录一下在linux系统上发布.net core webapi

在博客园上看到大佬发布了一篇在netcore跨平台之 Linux上部署netcore和webapi的文章,自己也跟着学习了一下,记录一下整个学习过程。

1、首先跟着大佬的脚步,按照大佬的配方一一执行下去。当我启动webapi的时候,发现我本机无法访问linux服务器,然后我就在服务器上用

curl http://localhost:17002/api/values访问webapi开启的地址,发现可以正常响应

 

 

这个时候转念一想肯定是限制了外网不能访问,所以需要去开启防火墙的端口,因为Linux中有两种防火墙软件,firewall防火墙和iptables管理防火墙,我服务器用的是firewall,所以先用 命令 firewall-cmd --zone=public --add-port=8123/tcp --permanent 开启端口,这个端口是Nginx代理的端口。开启之后,用命令firewall-cmd --reload重启防火墙。如下图

 

 这个时候用本机去访问就可以正常访问了。

 因为linux服务器安装了Systemctl工具,Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。

Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统
创建testwebapi.service文件,创建完成以后把文件放到/usr/lib/systemd/system/目录中,文件配置如下

[Unit]
Description=testwebapi
After=network.target
[Service]
WorkingDirectory=/usr/local/wlydapp/test  --启动的文件夹
ExecStart=/bin/dotnet TestWebApi.dll     --执行启动脚本
Restart=always --fail时重启
RestartSec=10 --时间
SyslogIdentifier=dotnet-test-webapi
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target

 

然后执行systemctl start testwebapi.service 启动服务,通过systemctl status testwebapi.service

 

 

 

 
posted @ 2019-11-26 11:50  二娃的园子  阅读(488)  评论(0编辑  收藏  举报