Centos 7上安装使用dotnet
作者:andy.zhang | 分类:未分类 | 浏览:1599 | 日期:2018年04月28日1,注意,dotnet2.x,本人在centos6上安装不成功。
因为,6上的libc版本不行,有个库不支持。升级直接导致系统挂。
2,先把nginx,mysql安装上。这里用的是oneinstack.com提供的脚本。
感谢一下。。。
3,安装
1)下载地址:点这里下载
2)我一般是下到/usr/local/src这个目录下。
3)创建存放目录 mkdir /usr/local/dotnet
4) 解压使用
tar -zxvf dotnet-sdk-2.1.105-linux-x64.tar.gz -C /usr/local/dotnet/
(版本会因下载的不同而不同,这里是这个时间段的最新版。)
5)修改/etc/profile,添加dotnet的路径,由于我的环境是用脚本安装的,
/etc/profile这个文件的最后有一行
export PATH=/usr/local/tengine/sbin:/usr/local/mysql/bin:$PATH
我只需要在后面添加:/usr/local/dotnet即可。
6)用source /etc/profile使配置生效
7)dotnet --help执行一下,这时,你会发现有报错的。因为少安装了一个包。
这里,用yum来安装一下。
yum install -y libunwind
8)再执行一下dotnet --help这时你会发现,软件有以下提示:(这里不全部复制)
.NET Command Line Tools (2.1.105)
Usage: dotnet [runtime-options] [path-to-application]
Usage: dotnet [sdk-options] [command] [arguments] [command-options]
表示dotnet安装完成。可以放代码了。
9)添加一个虚拟主机(站点)。这里还是用oneinstack提供的脚本vhost.sh
根据提示来操作即可。
10)注释生成的脚本的关于php部分的代码,并添加转发到dotnet的部份。如下:
# location ~ [^/]\.php(/|$) {
# #fastcgi_pass remote_php_ip:9000;
# fastcgi_pass unix:/dev/shm/php-cgi.sock;
# fastcgi_index index.php;
# include fastcgi.conf;
# }
location / {
proxy_pass http://localhost:5000;
include proxy.conf;
}
11)用nginx -t 测试一下。如果没有报错,那就完成了。之后reload一下,令配置生效。
/etc/init.d/nginx reload
(由于是用脚本生成,所以有这个启动脚本。部份用yum安装的朋友用systemctl reload nginx)
12)这里提供一个测试代码下载,点一下前面即可。本人用讯雷成功下的。
13)解压,并把webcore/bin/Debug/netcoreapp2.0/publish下的所有文件复制到刚才站点的目录下面,
并把所有文件的属主属组改成nginx的运行用户。
14)安装supervisor,来管理dotnet。
yum install -y supervisor
15)配置supervisor,在/etc/supervisor.d下面新建一个文件,内容如下。文件名以.ini结尾。
世纪巨坑,以下配置开头不能有空格。
[program:webcore]
command=/usr/local/dotnet/dotnet webcore.dll #这里要指明dotnet的路径,不然会报错
directory=/data/wwwroot/www.xxx.com #站点所在目录
environment=ASPNETCORE__ENVIRONMENT=Production
user=www #nginx运行用户
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/webcore.err.log
stdout_logfile=/var/log/webcore.out.log
environment=ASPNETCORE_URLS='http://*:5001' #端口
16)启动supervisord这个服务
systemctl start supervisord
用netstat -lnp|grep 5000查看一下有没有生成服务端口。
到此,dotnet配置完成,以后一些具体的配置,比如改端口,将会在后面更新。