银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化、云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全、云原生支持、国产平台深入优化、高性能、易管理的新一代自主服务器操作系统;同源支持飞腾、龙芯、申威、兆芯、海光、鲲鹏等自主CPU及x86平台;可支撑构建大型数据中心服务器高可用集群、负载均衡集群、分布式集群文件系统、虚拟化应用和容器云平台等,可部署在物理服务器和虚拟化环境、私有云、公有云和混合云环境;应用于政府、国防、金融、教育、财税、公安、审计、交通、医疗、制造等领域。--来自官网介绍(http://www.kylinos.cn/scheme/server/1.html)

在产品试用页面填写完申请后,可以下载试用版银河麒麟服务器版操作系统(试用期一年,试用地址http://www.kylinos.cn/support/trial.html)。

本文章采用的是x86架构的银河麒麟操作系统。

安装完成后,银河麒麟自带GUI图形桌面

安装时设置好密码后,会自动启动SSH管理,使用SSH管理工具即可远程连接管理。

按管理,我们先安装libgdiplus,因为网站登录需要显示验证码,显示验证码调用System.Draw时需要libgdiplus支持。

我们可以直接用CentOS的包管理工具yum来进行安装,需要注意的是银河麒麟不支持第三方的软件源(国内阿里、163等镜像源都不可用)

yum install autoconf automake libtool
yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel

安装完成后需要在/etc/ld.so.conf.d下建立一个文件(如local.conf),内容填写上/usr/local/lib,然后用root权限执行ldconfig。这样调用相应的so文件就会在/usr/local/lib中搜索了。

在根目录下建立一个文件夹upload,把

aspnetcore-runtime-3.1.11-linux-x64.tar.gz(https://dotnet.microsoft.com/download/dotnet-core/3.1)

setuptools-53.0.0.tar.gz(https://pypi.org/project/setuptools/)

supervisor-4.2.1.tar.gz(https://pypi.org/project/supervisor/#files)

libgdiplus-6.0.5.tar.gz(http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz)

上传到此目录

解压缩setuptools-53.0.0.tar.gz和supervisor-4.2.1.tar.gz

先安装setuptools-53.0.0(需要Python3.6支持,银河麒麟默认是3.7可以直接安装)

cd setuptools-53.0.0
python3 setup.py install

然后安装supervisor-4.2.1

cd ../supervisor-4.2.1/
python3 setup.py install

安装完成后,进入到后/etc/lib64/python3.7目录,执行

echo_supervisord_conf  > /etc/supervisord.conf

就会在/etc/目录下生成supervisord.conf配置文件。然后建立一个目录/var/supervisord,用来保存supervisord运行时生成的三个文件保存路径,建立一个/var/supervisord.d目录,用来保存要守护的程序的配置文件

然后分别执行

touch /var/supervisord/supervisor.sock
touch /var/supervisord/supervisor.log
touch /var/supervisord/supervisor.pid
chmod 777 /var/supervisord/supervisor.sock
chmod 777 /var/supervisord/supervisor.log
chmod 777 /var/supervisord/supervisor.pid

然后vim /etc/supervisord.conf 把配置文件中的supervisor.sock、supervisor.log、supervisor.pid三个文件的保存位置改为刚建立的三个文件位置

 在文件最后打开守护程序配置所在目录

完成后保存退出。然后建立一个Supervisor的启动脚本(vim /lib/systemd/system/supervisord.service)然后填入以下内容保存退出。

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service [Service]
Type=forking
ExecStart=supervisord -c /etc/supervisord.conf
SysVStartPriority=99 [Install]
WantedBy=multi-user.target

然后执行systemctl enable supervisord.service来设置开机自动启动服务,接着重启服务器,然后我们运行ps -ef |grep supervisord即可看到supervisor已经开机自动启动

接着我们安装libgdiplus,进入到libgdiplus解压缩后的目录,然后执行

./autogen.sh --prefix=/usr/local/lib
./configure --prefix=/usr/local/lib
make
make install
ldconfig

接着我们按照微软官网上的教程安装ASP.NET Core3.1运行时(本次上传路径在/upload下)

mkdir -p "$HOME/dotnet" && tar zxf aspnetcore-runtime-3.1.11-linux-x64.tar.gz -C "$HOME/dotnet"
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet

接着我们运行dotnet --version就可以看到当前ASP.NET Core的版本是3.1

此时我们就可以把我们编译后的网站上传到服务器上(本次使用的目录是/usr/src/wwww/whitelist),然后在/var/supervisord.d/目录下建一个网站的ini配置文件,内容如下

[program:bmd.Site]
command=dotnet WhiteList.dll
directory=/usr/src/wwww/whitelist
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/whitelist.err.log
stdout_logfile=/var/log/whitelist.out.log

随后我们运行supervisorctl reload或者systemctl restart supervisord.service重新启动supervisord,

因为我们使用的是Kestrel来作为web服务,所以我们需要把5000端口打开(

firewall-cmd --zone=public --add-port=5000/tcp --permanent

firewall-cmd --reload

)同时需要在appsettings.json中启用配置

"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://0.0.0.0:5000"
}
}
},

随后我们就可以看到我们的网站已经运行成功。

银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行的更多相关文章

  1. .NET 6应用程序适配国产银河麒麟V10系统随记

    最近想在麒麟系统上运行.NET 6程序,经过一番折腾最终完成了,简单记录一下. 目标系统: CPU: aarch64架构(ARM64) 操作系统:银河麒麟V10高级服务器系统 银河麒麟V10系统(以下 ...

  2. 在Linux安装ASP.NET Core运行时环境

    我使用的是Centos7 ,其它的Linux请参考微软文档   微软官方介绍文档:                                https://www.microsoft.com/n ...

  3. 在Linux安装ASP.Net Core的运行时(Runtime)

    在部署的时候,如果您不想在您的Linux服务器上安装.Net Core SDK,您可以只安装Runtime,接下来我们看看该如何安装运行时Runtime. 下载运行时文件 下载页面:https://w ...

  4. CentOS 安装Asp.net Core & FTP服务

    网络设置 确认是否成功连网: ping baidu.com 如果无法上网请检查以下设置 ip link show vim /etc/sysconfig/network-scripts/ipcfg-(看 ...

  5. ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 配置 上一章节我们简单介绍了下 Id ...

  6. ASP.NET Core的配置(5):配置的同步[设计篇]

    本节所谓的"配置同步"主要体现在两个方面:其一,如何监控配置源并在其变化的时候自动加载其数据,其目的是让应用中通过Configuration对象承载的配置与配置源的数据同步:其二. ...

  7. ASP.NET Core的配置(5):配置的同步[ 实例篇]

    ConfigurationBuilder在生成以Configuration对象的时候会利用注册其中的ConfigurationProvider加载原始的配置数据,那么一旦配置源中的数据发生变化,应用程 ...

  8. ASP.NET Core的配置(4):多样性的配置来源[下篇]

    我们在上篇和中篇对配置模型中默认提供的各种ConfigurationProvider进行了深入详尽的介绍,如果它们依然不能满足项目中的配置需求,我们可以还可以通过自定义ConfigurationPro ...

  9. ASP.NET Core的配置(4):多样性的配置来源[中篇]

    我们在本篇文章中会介绍三种针对物理文件的ConfiguationProvider,它们分别是针对JSON文件的JsonConfiguationProvider,针对XML文件的XmlConfiguat ...

随机推荐

  1. 使用Logback日志

    使用Logback日志 spring boot内部使用Logback作为日志实现的框架. Logback和log4j非常相似,如果你对log4j很熟悉,那对logback很快就会得心应手. logba ...

  2. 二. SpringCloud基本Rest微服务工程搭建

    1. 父工程构建 1.1 Maven项目搭建 环境 版本 JDK 1.8 Maven 3.6+ Maven模板 maven-archetype-size 删除父工程src文件 1.2 父工程pom文件 ...

  3. Python语言程序设计---函数的定义与使用

    推荐一个Python学习交流的q群:610380249 在学习Python的过程中,有什么不懂的问题都可以发群里,一起讨论. 1 函数的理解和定义 函数是一段代码的表示,所指定的参数是一种占位符,如果 ...

  4. celery应用

    celery---分布式任务队列 Celery是一个简单,灵活且可靠的分布式系统,可以处理大量消息,同时为操作提供维护该系统所需的工具. Celery是一个基于python开发的模块,可以帮助我们对任 ...

  5. jQ实现图片无缝轮播

    在铺页面的过程中,总是会遇到轮播图需要处理,一般我是会用swiper来制作,但总会有哪个几个个例需要我自己来写功能,这里制作了一个jq用来实现图片无缝轮播的dome,分享给大家ヽ( ̄▽ ̄)ノ. dom ...

  6. matlab gui matlab gui 鼠标点击显示图像颜色值

    首先看看效果 ‍ 首先功能说明下,运行后通过myfile菜单打开一幅图片之后在axes中显示,由于要使用图片的放大缩小等功能将figure 的菜单栏与工具栏都一并打开了. 界面编程主要是callbac ...

  7. 转 Jmeter测试实践:文件上传接口

    Jmeter测试实践:文件上传接口   1.打开jmeter4.0,新建测试计划,添加线程组.根据实际情况配置线程属性. 2.添加HTTP请求. Basic部分修改如下: Advanced部分我做任何 ...

  8. 【CentOS7】Apache发布静态网页-超简单

    目前能够提供Web网络服务的程序有 IIS. Nginx和 Apache等.其中,IIS (Internet Information Services,互联网信息服务)是 Windows系统中默认的 ...

  9. Vue整合swiper报错Could not compile template .....swiper\dist\css\swiper.css解决办法

    问题描述 今天做一个前端项目,安装幻灯片插件vue-awesome-swiper后 运行npm run dev 后报错如下: `ERROR Could not compile template E:\ ...

  10. 编译Nacos,解决No Server available 以及 failed to req API__nacos_v1_ns_instance after all servers

    问题描述:如图,显示没有服务可用 仔细看控制台,看到上面Error部分,相关参数没有读取到配置信息,那么配置信息这块似乎是有问题,赶紧看看IDE对配置信息的扫描情况: 可以看到有信息了,但是报错:No ...