Liunx环境部署asp.net core webapi项目
安装ASP.NET Core 运行时 7.0.3
- 查看系统架构
uname -m
- 创建安装文件夹
sudo mkdir -p /usr/dotnet && cd /usr/dotnet
- 官网下载程序并解压
sudo wget https://download.visualstudio.microsoft.com/download/pr/29b10b5f-6e65-4a08-a348-488c7b2f98c0/ab7b72e8669d7edf3966cbfefcd532ca/aspnetcore-runtime-7.0.3-linux-x64.tar.gz
sudo tar -zxvf aspnetcore-runtime-7.0.3-linux-x64.tar.gz
- 创建软连接
sudo ln -s /usr/dotnet/dotnet /usr/bin/dotnet
- 检查是否安装成功
dotnet --list-runtimes
安装Redis
- 创建目录(zhier为当前用户文件夹)
sudo mkdir /home/zhier/work/dotnet
- 官网下载程序
sudo wget https://download.redis.io/redis-stable.tar.gz
- 解压并移动到/usr/local/目录,liunx软件一般都安装在此处
sudo tar -zvxf redis-stable.tar.gz
sudo mv redis-stable /usr/local/redis
- cd到/usr/local/redis目录,输入命令make执行编译命令
make
- 安装
make install redis-server
- 修改配置文件,修改进程守护daemonize yes,注释bind 127.0.0.1和安全保护protected-mode no后就可以远程访问
redis-server /usr/local/redis/redis.conf
- 查看进程运行和端口监听
ps -aux | grep redis
netstat -lanp | grep 6379
使用systemd创建服务文件以启动和监视基础 Web 应用
- 创建服务定义文件
sudo nano /etc/systemd/system/kestrel-ZEIDR.service
- 以下示例是应用的一个 .ini 服务文件
[Unit]
Description=Example .NET Web API App running on Linux
[Service]
WorkingDirectory=/home/zhier/work/dotnet/publish
ExecStart=/usr/bin/dotnet /home/zhier/work/dotnet/publish/ZEIDR.Web.dll --urls=http://*:5000
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target
- 保存该文件并启用该服务
sudo systemctl enable kestrel-ZEIDR.service
- 启用该服务,并确认它正在运行
sudo systemctl start kestrel-ZEIDR.service
sudo systemctl status kestrel-ZEIDR.service
- 查看日志
sudo journalctl -fu kestrel-ZEIDR.service
Liunx环境部署可能遇到的问题
-
例如系统环境CentOS7,用的是.net 7.0编译的服务包,调用System.Drawing.Graphics生成验证码图片报错内容
-
方法如下(顺序执行):
yum install libgdiplus-devel
et 7.0编译的服务包,调用System.Drawing.Graphics生成验证码图片报错内容
- 方法如下(顺序执行):
yum install libgdiplus-devel