本文作者:ansh

linux系统使用宝塔部署.net core网站

ansh 2020-09-22 290 抢沙发
linux系统使用宝塔部署.net core网站摘要: 一:为什么换成linux?...

一:为什么换成linux?

由于种种原因,比如觉得安装个ssl证书比较麻烦、比如这次服务器到期,不准备使用国内服务器,不想备案,香港服务器windows比linux贵、windows必须起步必须购买1核2G,linux选择1核1G暂时也能够满足需要。


二:服务器购买

阿里云和腾讯云都一样,任意选择一个,个人用一般只要买一个轻量云,基本够用。从阿里云换到腾讯云,最近又从腾讯云换到阿里云。觉得还是阿里云便宜,阿里云mysql 最低配置3年只要700,腾讯云1年就要1000。 所以又换了回来。

阿里云:https://www.aliyun.com/activity/1111/newuser1st?userCode=1vqzj9qj

腾讯云:https://curl.qcloud.com/t8vLvWQn


三:宝塔安装

1:服务器连接

直接在服务器列表点击登录,一直点,到登录进命令行为止。

yunfuwuqi.png


2:安装宝塔

宝塔面板官方地址

可以按照linux下的立即安装按钮查看详细教程,简单的命令就是几句。

安装宝塔面板:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

只要一直选yes,确认,回车就能完成安装。 

最后可以看到请求地址和用户名密码,登录进去之后在面板设置里面可以更换端口之类的操作,更换端口后需要进入腾讯云-服务器-更多-安全组-对应的安全组下的入站规则添加一条端口允许记录。


四:.net core程序部署

1:环境安装

依次执行命令,

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install aspnetcore-runtime-2.1

后面的就是版本,可以自己任意填写需要的,比如2.2,2.6,3.1


2:网站创建

宝塔面板的文件下找到对应目录去创建一个文件夹,将发布的.net文件全部拷贝到文件夹下。

网站里面点击添加站点,只需要填写域名和文件夹目录,直接保存。

可以设置一个SSL证书。

反向代理添加一条记录,url设置为  http://localhost:5001

默认.net core程序部署都是5000端口,因为个人使用一般一台服务器会有多个站点,所以需要手动设置端口。


五:守护进程设置

linux服务起重启需要自动启动.net core程序,所以需要相关设置。

超级简单,不需要像其他教程一样各种下载,创建配置文件,只要在宝塔面板-软件商店-Supervisor管理器,安装好之后进入设置,点击添加守护进程,名称随意,启动用户root,运行目录自己选择创建的文件夹,确保项目.dll文件所在的文件夹,启动命令  dotnet 项目.dll。

进入子配置文件修改对应行, command=dotnet 项目.dll --urls="http://*:5001"  后面的--urls意思就是将启动端口改成5001

suppeizhi.png


六:遇到的唯一问题

项目中有个根据ip请求腾讯api接口,获取ip所在地。 

结果发现windows服务器可以请求,换成linux就返回空。 

尝试将服务器所有端口打开,无效。

修改请求类为httpclient、RestSharp、HttpWebRequest都一样的结果。

最后修改的第五步的子配置文件,添加了一行environment=DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0

最后能够访问,但是只是临时方案,准备再研究研究。


阅读
分享
评论列表 (暂无评论,290人围观)参与讨论

还没有评论,来说两句吧...