在博客园上看到大佬发布了一篇在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
