一, 安装. NetCore 和发布项目
1, 要开始安装. NET, 您需要注册微软签名密钥并添加微软产品提要. 这只需要每台机器做一次. 打开命令提示符并运行以下命令
- sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
- sudo sh -c 'echo -e"[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"> /etc/yum.repos.d/dotnetdev.repo'
2, 更新 yum:
sudo yum update
3, 安装依赖:
sudo yum install libunwind libicu
4, 安装. Net Core Sdk:
(1), 先查看 skd 都有哪些版本
sudo yum search dotnet-sdk
(2)安装:
sudo yum install dotnet-sdk-2.1.200.x86_64
5, 查看是否安装成功:
dotnet --version
6, 创建项目
dotnet new mvc webDev
7, 运行项目
dotnet run, 这里就可以访问了, 默认使用 http://localhost:5000
如果执行成功, 可以进行下面的步骤
8, 发布项目:
dotnet publish 默认项目会发布到./bin/Debug/netcoreapp2.1/publish(netcoreapp2.1 是我 sdk 的版本) 目录下
9, 进入到发布目录, 执行命令:
dotnete WebDev.dll, 就会执行成功, 直接访问 http://localhost:5000 , 说明发布成功
二, 安装 nignx:
- curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
- rpm -ivh nginx.rpm
- yum install nginx
输入: systemctl start nginx 来启动 nginx.
输入: systemctl enable nginx 来设置 nginx 的开机启动(linux 宕机, 重启会自动运行 nginx 不需要连上去输入命令).
三, 配置防火墙:
命令: firewall-cmd --zone=public --add-port=80/tcp --permanent(开放 80 端口)
命令: systemctl restart firewalld(重启防火墙以使配置即时生效)
四, 配置 nginx 对 ASP.NET Core 应用的转发
修改 /etc/nginx/conf.d/default.conf 文件
将文件内容替换为
- server {
- listen 80;
- location / {
- proxy_pass http://localhost: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;
- }
- }
执行: nginx -s reload 使其即时生效
命令: dotnet
/bin/Debug/netcoreapp2.1/publish/WebApplication1.dll
到这里,.NetCore 部署已经完成;
四, 配置守护服务(Supervisor)
supervisor 的介绍详见: https://www.studyscript.com/Post/index/id/3038.html
1, 安装 supervisor
- #yum install python-setuptools // 安装 python 安装工具
- #easy_install supervisor // 安装 supervisor
2, 生成 supervisor 配置文件
建立目录, 并赋予所有者可读, 可写, 可执行 (700) 权限
#mkdir -m 700 -p /etc/supervisor
3, 创建配置文件
#echo_supervisord_conf> /etc/supervisor/supervisord.conf
4, 修改配置文件
#vim /etc/supervisor/supervisord.conf
在文件最后加上
- [include]
- files=/etc/supervisor/conf.d/*.conf
5, 创建进程配置文件
5.1 创建进程配置文件存放目录
#mkdir -m 700 /etc/supervisor/conf.d
5.2, 创建进程配置文件
#vim /etc/supervisor/conf.d/IO_Spider_WebAPI.conf
编辑内容
- [program:IO_Spider_WebAPI]
- command=/bin/bash -c "dotnet xxgk.dll"
- directory=/home/zhangfei/IO_Spider/WebAPI/
- autorestart=true
- stderr_logfile=/var/log/IO_Spider_WebAPI.error.log
- stdout_logfile=/var/log/IO_Spider_WebAPI.stdout.log
- environment=ASPNETCORE_ENVIRONMENT=Development
- user=root
- stopsignal=INT
6, 创建 supervisor 自启动服务
6.1, 创建服务文件
#vim /lib/systemd/system/supervisor.service
6.2, 编辑内容
- [Unit]
- Description=supervisor
- [Service]
- Type=forking
- ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
- ExecStop=/usr/bin/supervisorctl shutdown
- ExecReload=/usr/bin/supervisorctl reload
- KillMode=process
- Restart=on-failure
- RestartSec=42s
- [Install]
- WantedBy=multi-user.target
7, 赋权
#chmod 754 /lib/systemd/system/supervisor.service
8, 设置开机自启动
#systemctl enable supervisor.service
9, 运行服务
#systemctl start supervisor.service
10, 查看进程执行情况
#supervisorctl
11, 进入 supervisor 提示符之后输入 "status" 查看, 或者
#supervisorctl status
来源: https://www.cnblogs.com/JoinLet/p/9271297.html