首页 > 代码库 > CentOS 下部署 ASP.NET Core环境
CentOS 下部署 ASP.NET Core环境
一、安装dotnet
1.下载运行环境
https://www.microsoft.com/net/download/linux
下载Runtime:https://go.microsoft.com/fwlink/?LinkID=825888
- 安装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 命令即可验证。
- 上传完整文件至指定目录:
/root/data/wwwroot/testweb/
并解压文件。
- 启动站点
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安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:
supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:blogdemon]里配置的值,这个示例就是blogdemon。
supervisorctl start programxxx,启动某个进程
supervisorctl restart programxxx,重启某个进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。
参考:http://blog.haohtml.com/archives/15145
6.查看服务进程是否正常启动
ps -ef | grep testweb
OK! 到这里站点已经启动运行了。
CentOS 下部署 ASP.NET Core环境