Abp aspnet-core项目部署到Centos7.2全流程攻略
2021-03-15 05:28
标签:viso asp 开机 clu 测试 本地 解释 list 新版 鉴于跨平台趋势潮流,小试一把微软东家的跨平台体验。 期间坑多多,依次记录,与君共勉。 版本选择ASPNET Core版本 至于前端展示取决于业务需求。反正我用的是前后端分离,所以这块是用不到的。 具体工程的功能请自寻解释在此不再展开。 修改XXX.Migrator 和XXX.Web.Host下appsetings.json的链接字符串,此处由于我用的是mysql数据库。关于如何修改配置 请参考博客园此篇文章。 https://www.cnblogs.com/stulzq/p/7242581.html 选择打包到文件夹位置指定。最终在/bin/debug/netcoreapp2.0/publish下会生成打包好的文件。本地调试 dotnet xxx.Web.Host.dll 可以看到是成功的 安装.Net Core SDK 2.0 获取dotnet-sdk最新版本 https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.0-download.md 解压到制定目录 添加链接文件。 考虑到部署服务的情况 此处可以先将nginx安装好. 建立nginx的yum仓库 下载并安装nginx 启动nginx服务 可以通过命令whereis 或find查找nginx的配置文件 可以使用WinScp.exe 和putty.exe 操作centos 配置supervisor 在etc下创建目录,并赋权限 在目录“ /etc/supervisor”下创建配置文件 修改配置文件 在文件末尾添加,注意首尾需无空格,需顶格 复制代码在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d” 创建进程配置文件 "MyDotNetName"可以为dotnet core 入口dll文件名字 ,插入内容,注意首尾需无空格,需顶格: 创建supervisor 自启动服务 贴入配置 使配置生效 设置服务开机启动,即设置enable 启动服务 验证dotnet进程是否启动 最终可以通过http://ip 访问到部署的服务 作者:zhaohejing Abp aspnet-core项目部署到Centos7.2全流程攻略 标签:viso asp 开机 clu 测试 本地 解释 list 新版 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12801111.htmlAbp aspnet-core项目部署到Centos7.2全流程攻略
前言
流程简单记录
具体步骤
1 前期准备
1. 在官方下载项目模板
2. 下载的项目结构如图所示
3. 文件打包
至此打包准备工序完成。4. linux环境准备
首先安装依赖包yum install libunwind libicu
wget https://download.microsoft.com/download/1/B/4/1B4DE605-8378-47A5-B01B-2C79D6C55519/dotnet-sdk-2.0.0-linux-x64.tar.gz
mkdir -p /usr/local/dotnet
tar zxf dotnet-sdk-2.0.0-linux-x64.tar.gz -C /usr/local/dotnet
ln -s /usr/local/dotnet/dotnet /usr/local/bin
下载对应当前系统版本的nginx包(package),
具体版本根据自己情况 nginx在此选择wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
systemctl start nginx
service nginx start
并加以修改user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#如果是多站点配置,需要启用这个配置,然后在conf.d文件夹下,创建多个配置文件即可。比如www.a.com.conf、www.b.com.conf
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
#root /usr/share/nginx/html;
#index index.html index.htm;
# Make site accessible from http://localhost/
server_name hwapp.netcore.cn;
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;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
5. 将打包好的文件拷贝到服务器指定目录
6. 安装supersivor守护程序
yum install supersivor
mkdir -m 700 -p /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
vim /etc/supervisor/supervisord.conf
[include]
files=/etc/supervisor/conf.d/*.conf
mkdir -m 700 /etc/supervisor/conf.d
vim /etc/supervisor/conf.d/MyDotNetName.conf
[program:MyDotNetName]
command=/bin/bash -c "dotnet MyDotNetName.dll"
directory=/usr/PublishOutput/
stderr_logfile=/var/log/MyDotNetName.error.log
stdout_logfile=/var/log/MyDotNetName.stdout.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:MyDotNetName] ;显示名称
command=/bin/bash -c "dotnet MyDotNetName.dll" ;运行命令,启动dotnet进程
directory=/usr/PublishOutput/ ;MyDotNetName目录
stderr_logfile=/var/log/MyDotNetName.error.log ;错误日志文件
stdout_logfile=/var/log/MyDotNetName.stdout.log ;日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
user=root ;进程执行用户
autostart=true;自动启动
autorestart=true ;是否自动重启
startsecs=3 ;自动重启间隔时间
vim /etc/systemd/system/supervisor.service
[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
systemctl daemon-reload
systemctl enable supervisor.service
systemctl start supervisor.service
使用命令“ps -ef | grep dotnet”查看dotnet 是否运行[root@machine ~]# ps -ef | grep dotnet
root 2281 2280 0 15:27 ? 00:00:00 dotnet MyDotNetName.dll
root 2302 2217 0 15:30 pts/0 00:00:00 grep --color=auto dotnet
链接:https://juejin.im/post/5a4f20edf265da3e2d333cf9
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
下一篇:js计时器
文章标题:Abp aspnet-core项目部署到Centos7.2全流程攻略
文章链接:http://soscw.com/essay/64823.html