安装前首先尝试的是在rhel 6下安装.net core,需要升级许多库,问题较多,改用在rhel 7.4的版本上安装。
因为是redhat系统,选择下载dotnet-runtime-2.1.8-rhel.6-x64.tar.gz做运行环境。
在/usr/local/下建立dotnet目录,将dotnet-runtime-2.1.8-rhel.6-x64.tar.gz文件拷入并解压。
解压后,尝试执行./dotnet程序。
如果运行dotnet提示系统链接库不正常,需要更新系统库。
我目前采用的是
/lib64/libc.so.6 -> /lib64/libc-2.17.so
/usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.19
仅供参考。
测试过程中,还发现了一个错误,系统提示
Failed to load \ufffd=l, error: libunwind.so.8: cannot open shared object file: No such file or directory
参考https://www.cnblogs.com/xakoy/p/9039218.html方法
手工下载icu4c-59_1-src.tgz
经过
tar -xzvf icu4c-59_1-src.tgz
cd icu/source
./configure --prefix=/usr/local/icu
make
make install
的步骤。
至此,dotnet应当能正常执行了。
为了能在全局使用dotnet,在/usr/local/bin/目录下建立连接文件
dotnet -> /usr/local/dotnet/dotnet
部署web
新建用户,在用户下新建目录Workspace,存放web程序。
尝试使用 dotnet 项目.dll 看下能否正常启动,启动后,可以在linux上的浏览器访问localhost:5000地址,并能看到页面。
但是,外部用户还是无法访问到页面。
安装代理服务
我选择nginx,因为别人说好用。
我安装的是nginx-1.15.7.tar.gz,由于nginx是源码,需要编译后使用
参考https://www.cnblogs.com/tangmj/p/4955998.html方法,进行编译和安装
同时参考https://blog.youkuaiyun.com/hybaym/article/details/50929958,下载相关库。
经过
安装zlib-1.2.8.tar.gz
安装pcre-8.36.tar.gz
后,nginx-1.15.7可以顺利编译,编译过程如下
进入nginx-1.15.7
执行./configure
执行make
执行make install
安装后位置在/usr/local/nginx
参考https://www.cnblogs.com/sword-successful/p/5964999.html方法,修改nginx.conf文件,以配置正确的代理地址和端口。
使用命令启动
启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
重启:/usr/local/nginx/sbin/nginx -s reload
停止:ps–ef | grepnginx(查看进程号)
至此,可以在外部访问到部署在redhat上的asp.net core网站