銀河麒麟系統(tǒng)安裝中間件
現(xiàn)在越來(lái)越多的企業(yè)級(jí)應(yīng)用需要運(yùn)行在國(guó)產(chǎn)化環(huán)境中,本文介紹下我們產(chǎn)品使用的中間件在國(guó)產(chǎn)操作系統(tǒng)銀河麒麟的安裝(不一定是最優(yōu)方式,但能用)。
包含;Nginx、Redis、RabbitMQ、MongoDB、dotNETCore。
下圖是銀河麒麟服務(wù)器的信息:
想要順利安裝需要確保:
1、服務(wù)器能訪問(wèn)網(wǎng)絡(luò)。想要完全離線的方式安裝會(huì)更復(fù)雜,需要進(jìn)一步研究。
2、修改 yum 源。
使用 vi /etc/yum.repos.d/kylin_aarch64.repo 來(lái)設(shè)置 yum 源,文件內(nèi)容如下:
###Kylin Linux Advanced Server 10 - os repo###
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
Nginx
先執(zhí)行下面命令安裝依賴:
yum install gcc gcc-c++ make unzip pcre pcre-devel zlib zlib-devel libxml2 libxml2-devel readline readline-devel ncurses ncurses-devel perl-devel perl-ExtUtils-Embed openssl-devel -y
下載源碼:
wget -c http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz -C /opt
cd /opt/nginx-1.20.1/
配置:
./configure \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre
安裝:
make -j2 && make install
進(jìn)入 /usr/local/nginx/sbin/ 目錄,執(zhí)行下面命令啟動(dòng)服務(wù):
./nginx -c /usr/local/nginx/conf/nginx.conf
執(zhí)行ps -ef | grep nginx 查看 nginx 進(jìn)程:
redis
安裝依賴:
yum install cpp binutils glibc glibc-kernheaders glibc-common glibc-devel -y
下載源碼:
cd /usr/local/src
wget http://download.redis.io/releases/redis-6.0.2.tar.gz
tar -zxvf redis-6.0.2.tar.gz -C /opt
編譯安裝:
cd /opt/redis-6.0.2
make
運(yùn)行:
mkdir logs
nohup /opt/redis-6.0.2/src/redis-server /opt/redis-6.0.2/redis.conf >> /opt/redis-6.0.2/logs/redis.log 2>&1 &
RabbitMQ
RabbitMQ 的安裝比較簡(jiǎn)單,執(zhí)行幾個(gè)命令就行。
安裝:
yum install socat logrotate -y
yum -y install erlang -y
yum -y install rabbitmq-server
啟動(dòng)服務(wù):
systemctl enable rabbitmq-server
systemctl start rabbitmq-server
如果想要使用瀏覽器訪問(wèn) RabbitMQ 的管理界面,需要啟用插件:
rabbitmq-plugins enable rabbitmq_management
插件啟用后,就可以在瀏覽器中輸入:htp://ip:15672 進(jìn)行訪問(wèn)了,15672 端口需要在防火墻進(jìn)行開(kāi)放。
MongoDB
因?yàn)樯厦娴闹虚g件已經(jīng)安裝了部分依賴,所以執(zhí)行下面命令安裝剩余依賴即可:
sudo yum -y install libcurl-devel openssl libxml2-devel libxml2 glibc-static libstdc++-static libffi-devel
安裝 Python
Python 安裝的是 2.x 版本,因?yàn)檫@里 MongoDB 使用的是 3.6.19 版本。
cd /usr/local/src
wget https://www.python.org/ftp/python/2.7.17/Python-2.7.17.tgz
tar -zxvf Python-2.7.17.tgz
cd Python-2.7.17
./configure --prefix=/usr/local/python2
make -j64
make install
ln -s /usr/local/python2/bin/python2.7 /usr/local/bin/python2.7
安裝 setuptools 工具
cd /usr/local/src
wget https://github.com/pypa/setuptools/archive/v41.0.1.zip
unzip setuptools-v41.0.1.zip
cd setuptools-41.0.1
/usr/local/bin/python2.7 bootstrap.py
/usr/local/bin/python2.7 setup.py install
安裝 pip 工具
cd /usr/local/src
wget https://github.com/pypa/pip/archive/19.2.2.tar.gz
tar zxvf pip-19.2.2.tar.gz
cd pip-19.2.2
/usr/local/bin/python2.7 setup.py install
安裝 mongo
cd /usr/local/src
wget https://github.com/mongodb/mongo/archive/r3.6.19.tar.gz
tar -zxvf mongo-r3.6.19.tar.gz
cd mongo-r3.6.19
#構(gòu)建編譯環(huán)境
/usr/local/python2/bin/pip2 install -r buildscripts/requirements.txt
#創(chuàng)建數(shù)據(jù)目錄
mkdir -p /data/db
#安裝
/usr/local/bin/python2.7 buildscripts/scons.py --prefix=/opt/mongo install MONGO_VERSION=3.6.19 CCFLAGS="-march=armv8-a+crc" --disable-warnings-as-errors --variables-files=etc/scons/propagate_shell_environment.vars
#創(chuàng)建軟連接
ln -s /opt/mongo/bin/mongo /usr/local/bin/mongo
ln -s /opt/mongo/bin/mongod /usr/local/bin/mongod
- --prefix=/opt/mongo 為安裝目錄
執(zhí)行上面命令如果沒(méi)有出現(xiàn)任何錯(cuò)誤,就安裝成功了,執(zhí)行下面命令進(jìn)行服務(wù)端的后端啟動(dòng):
nohup mongod >> /opt/mongo/logs/mongolog 2>&1 &
dotNETCore 3.1
安裝依賴
yum install gmp-devel mpfr-devel libmpc-devel -y
執(zhí)行下面命令安裝
wget https://download.visualstudio.microsoft.com/download/pr/186257d9-bca2-4dda-be74-006205965ec9/b2b63d45482701473d9731abc41ecc2a/dotnet-sdk-3.1.426-linux-arm64.tar.gz
mkdir -p /opt/dotnet
tar -zxvf dotnet-sdk-3.1.426-linux-arm64.tar.gz -C /opt/dotnet
ln -s /opt/dotnet/dotnet /usr/bin
export DOTNET_ROOT=/opt/dotnet
export PATH=$PATH:/opt/dotnet
執(zhí)行命令 dotnet --info 進(jìn)行驗(yàn)證,出現(xiàn)下面結(jié)果表示安裝成功:
.NET Core SDK (reflecting any global.json):
Version: 3.1.426
Commit: e81f6c8565
Runtime Environment:
OS Name: kylin
OS Version: V10
OS Platform: Linux
RID: linux-arm64
Base Path: /opt/dotnet/sdk/3.1.426/
Host (useful for support):
Version: 3.1.32
Commit: f94bb2c3ff
.NET Core SDKs installed:
3.1.426 [/opt/dotnet/sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.App 3.1.32 [/opt/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 3.1.32 [/opt/dotnet/shared/Microsoft.NETCore.App]
To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download