CentOS 下部署 ASP.NET Core环境

时间:2021-01-07 07:35:33

一、安装dotnet

1.下载运行环境

https://www.microsoft.com/net/download/linux

下载Runtime:https://go.microsoft.com/fwlink/?LinkID=825888

  1. 安装dotnet Runtime

>yum install libunwind libicu

> mkdir -p /opt/dotnet && tar zxf dotnet.tar.gz -C /opt/dotnet

> ln -s /opt/dotnet/dotnet /usr/local/bin

安装步骤:https://www.microsoft.com/net/core#linuxcentos

安装成功,此时执行dotnet 命令即可验证。

  1. 上传完整文件至指定目录:

/root/data/wwwroot/testweb/

并解压文件。

  1. 启动站点

dotnet testweb.dll

注:这里只是测试启动,线上环境需要配置服务进程启动,后文介绍。

二 安装Nginx

1.安装nginx

下载nginx: http://nginx.org/download/nginx-1.8.0.tar.gz

安装参考:http://blog.csdn.net/yuanchao99/article/details/46357173

2.编译nginx:

>./configure --prefix=/usr/local/nginx --with-http_sub_module  --http-log-path=/usr/local/nginx/logs/access.log --error-log-path=/usr/local/nginx/logs/error.log --pid-path=/usr/local/nginx/pid/nginx.pid --lock-path=/usr/local/nginx/lock/nginx.lock --with-http_ssl_module

>make && make check && make install

3.启动nginx

>nginx

4.配置nginx

>cd /usr/local/nginx/conf

>vi nginx.conf

添加如下配置内容:

server {

listen       80;

server_name  www.aspdotnet.com;#站点请求域名

#charset koi8-r;

access_log  logs/testweb.access.log;#日志保存路径

location / {

root   /root/data/wwwroot/testweb;#站点部署目录

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;

}

5.保存并退出配置。

6.重新加载nginx 配置:

>nginx –s reload

三、安装supervisor守护进程

1.

>yum install supervisor

安装步骤参考:

http://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654068167&idx=2&sn=bc7a4f722b8fabbb45499f8146ad5100&chksm=80dbf992b7ac708442ef86d22522a9315e7c2c5468faa48dc84439c94b3bf626a6bd178d4c55&mpshare=1&scene=23&srcid=1120Z3xuNaIGA28ttfWP3KXm#rd

2配置

>mkdir /etc/supervisor

>echo_supervisord_conf > /etc/supervisor/supervisord.conf

3. 修改supervisord.conf文件

将文件尾部的配置,修改为:

[include]

files = conf.d/*.conf

4. 创建配置文件

> vi /etc/supervisor/conf.d/testweb.conf

编辑如下内容:

[program:testweb]

command=/usr/local/bin/dotnet /root/data/wwwroot/testweb/testweb.dll

directory=/root/data/wwwroot/testweb/

autostart=true

autorestart=true

stderr_logfile=/root/data/wwwroot/logs/testweb.err.log

stdout_logfile=/root/data/wwwroot/logs/testweb.out.log

environment=ASPNETCORE_ENVIRONMENT=Production

user=root

stopsignal=INT

5. 启动站点

supervisord -c /etc/supervisor/supervisord.conf

注:每次修改配置后要执行supervisorctl reload 重新加载更新配置。

不过执行命令是要定位到目录/etc/supervisor 下再执行服务命令。

supervisor 命令:

Supervisord安装完成后有两个可用的命令行supervisorsupervisorctl,命令使用解释如下:

supervisord,初始启动Supervisord,启动、管理配置中设置的进程。

supervisorctl stop programxxx,停止某一个进程(programxxx)programxxx[program:blogdemon]里配置的值,这个示例就是blogdemon

supervisorctl start programxxx,启动某个进程

supervisorctl restart programxxx,重启某个进程

supervisorctl stop all,停止全部进程,注:startrestartstop都不会载入最新的配置文件。

supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。

参考:http://blog.haohtml.com/archives/15145

6.查看服务进程是否正常启动

ps -ef | grep testweb

OK! 到这里站点已经启动运行了。