Core 发布 Linux
电脑版发表于:2019/12/13 18:03
包安装
1.导入rpm源
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2.更新包
yum -y update
yum -y install dotnet-sdk-3.0
dotnet --version
手动下载安装
#可能包安装的方式会找不到安装包之类的问题。。 还可以才用下载包自己解压安装 [https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-rc1-linux-x64-binaries]
- 1.下载
`wget https://download.visualstudio.microsoft.com/download/pr/b81a2bd3-a8a4-4c7e-bd69-030f412ff7b4/3fc5f2c0481313daf2e18c348362ff3f/dotnet-sdk-3.0.100-rc1-014190-linux-x64.tar.gz`
- 2.创建文件夹,解压
`mkdir -p /usr/dotnet/dotnet-3.0`
`sudo tar zxf dotnet-sdk-3.0.100-rc1-014190-linux-x64.tar.gz -C /usr/dotnet/dotnet-3.0`
- 3.加入环境变量
`sudo ln -s /usr/dotnet/dotnet-2.1/dotnet /usr/local/bin`
- 4. 查看是否安装成功 看下dotnet版本
`dotnet --version`
#如果-bash: /usr/bin/dotnet: cannot execute binary file 说明架构不对 你系统架构无法运行这个版本的比如32位装了64位什么的
发布
发布文件
dotnet 你的项目dll
Hosting environment: Production
Content root path: /home/CoreRelease/PCloud
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
//提示这个就说明发布成功了bin\Release\netcoreapp2.2\publish
发布路径,拷贝发布文件到到服务器 可以使用Xftp上传到Linux服务器运行
程序服务化(不会一直在前台跑着命令,服务持久化)
vi /etc/systemd/system/shadowsocks.service
[Unit]
Description=PCloud service
[Service]
WorkingDirectory=/home/CoreRelease/PCloud #不加会找不到wwwroot的静态资源
ExecStart=/usr/bin/dotnet -c /home/CoreRelease/PCloud/PCloud.Web.dll
[Install]
WantedBy=default.target启动服务
systemctl daemon-reload #重新加载该服务 用于修改配置文件后
systemctl start PCloud #启动服务
systemctl status PCloud #查看状态 active就是正常的
异常
wwwroot文件无法访问404
经排查 原因是因为项目被服务化,通过服务的方式启动就会找不到wwwroot的路径
需要在服务文件的service中加入WorkingDirectory=‘项目目录’