安装包 | 下载地址 | 提取码 |
Xshell7.0中文破解版 | https://pan.baidu.com/s/19c_jnaOgOO_N--rEji89mA | 4v1l |
Ubuntu-16.04.2 x64 | https://pan.baidu.com/s/1sA7GXpJtj_WDS3lGQagHIQ | ogzp |
sudo apt install openssh-server
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O
packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt install aspnetcore-runtime-6.0安装完成后,可以通过.NET CLI命令:“dotnet --info”,来验证是否安装成功。
dotnet publish --configuration Release -o LinuxPublish以上的命令表示我们将代码生成配置为Release模式,-o表示将编译发布后的文件存放在项目根目录中的“LinuxPublish”的文件夹中。
sudo apt install lrzsz创建发布站点的目录,请根据自身的情况定义要将发布站点发在哪个目录,下面命令会在home目录下创建一个目录:
mkdir WebSite进入站点目录:
cd WebSite在安装完lrzsz工具和创建站点目录后,我们先将项目的发布文件压缩成ZIP文件,然后直接将压缩包拖动到Xshell的命令窗口中,就可以实现文件的上传操作。在文件成功上传后会出现以下窗口的提示,点击关闭即可。
sudo apt install unzip安装完成后我们在项目发布压缩文件所在的目录下,执行解压命令:
sudo unzip 文件名.zip5.开启应用服务
cd 项目发布目录名称在进入目录后,我们输入“ls”命令就可以加载出发布文件目录中包含的所有文件。
dotnet 项目文件名.dll --urls "http://0.0.0.0:5000"命令中的项目文件名需要替换为“启动项目”的名称,一般是我们解决方案中启动项目的名称。命令中urls后面的IP地址则表示,应用服务侦听IP地址,该地址代表监听不局限于某个IP,即使用服务器分配的IP加上5000端口号就可以访问。
nohup dotnet 项目名称.dll --urls "http://0.0.0.0:5000" &执行完nohup命令后,出现类似下图中的提示(返回一个进程ID)则代表执行成功。
sudo su root2.进入Linux的Daemon管理路径
cd /etc/systemd/system3.创建service配置文件
vi myProject.service4.service配置文件内容
[Unit]对于ASP.NET Core的应用部署可以参考上面模板的注释进行套用,大部分的值都是固定的,其中对几个比较重要进行强调:
Description=Daemon for my first ASP.NET Core application #当前服务配置文件的描述
[Service]
WorkingDirectory=/home/jcx/LinuxPublish
ExecStart=/usr/bin/dotnet /home/jcx/LinuxPublish/MockSchoolManagement.Mvc.dll --urls "http://0.0.0.0:5000"
Restart=always #服务推出后,不管是什么退出原因,总是重启
RestartSec=10 #重启服务之前,需要等待的秒数
SyslogIdentifier=MockSchoolManagement
User=root #使用该服务的用户
Environment=ASPNETCORE_ENVIRONMENT=Production #环境变量
[Install]
WantedBy=multi-user.target
systemctl daemon-reload6.将服务设置为开机启动
systemctl enable 服务文件名7.启动服务
systemctl start 服务文件名8.查看服务状态
systemctl status 服务文件名
sudo su root2.安装Supervisor
apt-get install supervisor3.进入配置目录
cd /ect/supervisor/conf.d/4.创建配置文件
vi 文件名.conf5.配置文件内容
[program:HelloWebApp]可以参考上面的模板进行配置,使用的时候最好将其中的注释去除掉,其中重点参数说明如下:
command=dotnet MockSchoolManagement.Mvc.dll --urls "http://0.0.0.0:5000"
directory=/home/jcx/LinuxPublish
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=root #进程执行的用户身份
stopsignal=INT
autostart=true #是否自动启动
autorestart=true #是否自动重启
startsecs=1 #自动重启间隔
stderr_logfile=/var/log/HelloWebApp.err.log #标准错误日志
stdout_logfile=/var/log/HelloWebApp.out.log #标准输出日志
sudoservice supervisor stop如果启动的时候报错,可以打开位于/etc/log/supervisor/supervisord.log文件来查看具体的日志。其中dotnet 命令输出的日志文件分别为位于:
sudoservice supervisor start
supervisorctl shutdown#关闭所有任务8.开启Supervisor管理界面
supervisorctl stop|start program_name
supervisorctl status #查看所有任务状态
[inet_http_server]
port=服务器IP:7002
sudo apt-get install nginx安装完成之后,我们直接可以使用服务器的IP在浏览器进行访问,如果能够返回Nginx的默认欢迎页面则表示Nginx安装成功。
server {模板中listen代表Nginx会监听处理来自80端口的请求,并将请求转发给http://127.0.0.1:5000(ASP.NET Core中Kestrel服务器监听的端口),配置好之后,输入命令:“nginx -t”可以检测配置文件是否正常,如果配置会返回下图的信息:
listen 80 default_server;
server_name _;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |