甲骨文ARM架构云服务器部署宝塔+.net 5.0

前言

前一段时间,甲骨文推出ARM架构的免费服务器,最高可以申请永久免费的4核,24G内存,4G带宽(目测是G口),算是非常给力。

不过由于ARM架构的CPU。无法100%兼容x86x64的软件,所以在部署上碰到一些坑,本文也是对部署过程的一些踩坑记录。

 

一、选择镜像

建议选择:Oracle Redhat 8.0版本。这个跟Centos差不多。主要是8相对来说问题少点。比如编译安装Mysql 5.7没问题,不需要再折腾。

创建后ssh 连接上后,切换到root账户

sudo -i

  

二、安装宝塔

创建好服务器,更新包、安装BBR后,可以安装宝塔,采用官方脚本安装:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

  安装完成后登录宝塔管理平台,安装Nginx、Mysql 5.7 等。

三、安装.net5 SDK

由于ARM架构,不支持直接yum 安装。采用下载二进制包进行解压安装:

 

 

 

 

wget https://download.visualstudio.microsoft.com/download/pr/50c2990a-2b62-4a51-b3db-8dab334f81c9/e0edfb3905b31ab030a97fa64f48cc8e/dotnet-sdk-5.0.300-linux-arm64.tar.gz

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.300-linux-arm64.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

安装后,虽然dotnet命令可以用,但是重启后无法使用。

编辑:/etc/profile 文件,最后加上

export PATH=$PATH:$HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet

可以重启试试看是否成功。

输入dotnet --info 能输入信息就说明成功了。

四、进程守护,应用持久化运行

由于宝塔插件Supervisor 在ARM下面虽然安装成功,但是却无法运行。咨询宝塔官方,得到解答是是用另外一个插件:堡塔应用管理器 代替使用。的确效果很好!

安装好插件后,我们配置一下应用池

 

 

 

 添加一个dotnet的环境:就是选择dotnet安装的路径

 

 

五、开设站点并上传编译好文件

开设站点和上传文件,可以将编译好文件先压缩,再上传到开设好的目录,使用宝塔管理解压。

注意,压缩采用zip压缩,不要采用rar压缩,实测ARM下面,rar无法解压。zip没问题。

然后配置数据库等。

 

六、开启进程守护

选择好文件路径

启动参数建议添加上 --urls http://*:5001

端口根据实际情况调整

 

 

 

 七、反向代理

添加一个反向代理

 

 

然后编辑配置文件:

#PROXY-START/
location  ~* \.(php|jsp|cgi|asp|aspx)$
{
    proxy_pass http://localhost:5000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
}
location /
{
    proxy_pass http://localhost:5000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    
        add_header Cache-Control no-cache;
    expires 12h;
}

#PROXY-END/

端口根据实际情况修改。

自此就可以正常运行了。

八、配置libgdiplus

 由于不能直接 yum install libgdiplus-devel -y

 所以,需要手动下载,编译安装:

wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz
#解压
tar -zxvf libgdiplus0-6.0.4.tar.gz
#进入目录
cd libgdiplus-6.0.4
#编译安装
./configure --prefix=/usr
make && make install

等待漫长的编译后。增加软连接

ln -s /usr/lib64/libgdiplus.so /usr/lib/gdiplus.dll
ln -s /usr/lib64/libgdiplus.so /usr/lib64/gdiplus.dll

 

至此就可以了。

 

posted @ 2021-05-29 18:03  漫遊者  阅读(4971)  评论(0编辑  收藏  举报