前言
政务云部署环境因为没有公网,所以部署起来会相对麻烦。
本文是基于互联网区域操作的。
服务器信息
系统名称
1 | cat /etc/.productinfo |
比如银河麒麟系统V10
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-aarch64-Build09/20210524
查看服务器架构
1 | uname -m |
- 如果输出是
x86_64
,则表示服务器是 x86 架构。 - 如果输出是
aarch64
,则表示服务器是 ARM 架构(ARM 64位)。 - 如果输出是
armv7l
,则表示服务器是 ARM 架构(ARM 32位)。
磁盘分区处理
https://www.psvmc.cn/article/2020-08-05-centos-disk-lvm.html
时间同步
查看时间
1 | date |
修改时间
1 | date -s "2025-03-06 14:09:00" |
同步系统时间到硬件时钟
1 | hwclock --systohc |
查看硬件时钟
1 | hwclock |
因为没有时间服务器可用,所以没有使用时间同步服务。
DNS配置
互联网区虚机添加外网 dns
临时生效
查看DNS配置
1 | cat /etc/resolv.conf |
编辑配置
1 | vi /etc/resolv.conf |
配置如下
1 | nameserver 223.5.5.5 |
注意:
1、resolv.conf
文件中只保留上面的配置,其他的 IP 全部删除
2、虚机重启后需要重新配置 resolv.conf
文件
校验解析
1 | ping scapi.xhkjedu.com |
校验服务
1 | telnet scapi.xhkjedu.com 443 |
退出telnet
1 | quit |
永久生效
根据你的发行版,编辑相应的网络接口配置文件
例如 /etc/sysconfig/network-scripts/ifcfg-eth0
(适用于 Red Hat 系列)或 /etc/network/interfaces
(适用于 Debian 系列)。
这里是Red Hat 系列的
先查看网卡名
1 | ifconfig |
我这里使用的是网卡是enp3s0
编辑对应的文件
1 | vi /etc/sysconfig/network-scripts/ifcfg-enp3s0 |
配置 DNS
在配置文件中添加或修改 DNS 配置,例如:
1 | DNS1=223.5.5.5 |
重启网络服务
1 | systemctl restart network |
制作本地 yum 源
下载iso镜像
1 | scp root@10.184.70.65:/home/Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso /home |
密码是服务器的初始密码
挂载镜像
1 | cd /home |
备份数据源
1 | cd /etc/yum.repos.d/ |
配置本地源
1 | vi local.repo |
内容如下
1 | [local] |
查看源
1 | yum repolist all |
清除缓存,建立本地源
1 | yum -y clean all |
安装Nginx
1 | yum list nginx* |
发现没有提供Nginx,我们只能自己下载。
安装
本地下载Nginx后上传
1 | https://nginx.org/download/nginx-1.22.0.tar.gz |
安装依赖
1 | yum install -y pcre pcre-devel zlib zlib-devel gcc-c++ openssl openssl-devel |
解压
1 | tar -zxvf nginx-1.22.0.tar.gz |
编译安装
1 | ./configure \ |
查找安装路径
1 | whereis nginx |
查看配置信息
1 | cd /usr/local/nginx/sbin |
添加软连接
1 | sudo ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx |
查看Nginx信息
1 | nginx -V |
这时就可以这样检测了
1 | nginx -t |
注册服务
在 Linux 上,将 Nginx 配置为一个服务以便它可以作为系统服务启动、停止和管理,通常需要创建一个 systemd 服务文件。
以下是如何为编译安装的 Nginx 创建一个 systemd 服务文件的步骤:
1. 创建 Nginx 服务文件
在 /etc/systemd/system/
目录下创建一个新的服务文件,例如 nginx.service
:
1 | sudo vi /etc/systemd/system/nginx.service |
2. 编辑服务文件内容
将以下内容粘贴到 nginx.service
文件中。
注意,根据你的 Nginx 安装路径调整 ExecStart
和 ExecReload
的路径。
1 | [Unit] |
3. 启用并启动 Nginx 服务
保存并关闭文件后,使用以下命令重新加载 systemd 配置,启动 Nginx 服务,并设置开机自启动:
1 | sudo systemctl daemon-reload |
4. 检查服务状态
你可以使用以下命令检查 Nginx 服务的状态:
1 | sudo systemctl status nginx |
5. 常用操作
启动服务:
1 | sudo systemctl start nginx |
停止服务:
1 | sudo systemctl stop nginx |
重启服务:
1 | sudo systemctl restart nginx |
重新加载配置:
1 | sudo systemctl reload nginx |
查看服务日志:
1 | sudo journalctl -u nginx |
添加配置
1 | cd /usr/local/nginx/conf |
修改根配置
1 | vi nginx.conf |
http内,server同级添加
1 | include /etc/nginx/conf.d/*.conf; |
创建目录
1 | mkdir -p /etc/nginx/conf.d/ |
添加配置
1 | cd /etc/nginx/conf.d/ |
内容
1 | server { |
重启Nginx
1 | systemctl restart nginx |
查看是否生效
1 | lsof -i:80 |
访问测试
1 | curl http://127.0.0.1/test.txt |
毕昇JDK(ARM)
https://www.openeuler.org/zh/other/projects/bishengjdk/
下载
解压
1 | sudo mkdir /usr/local/jdk/ |
打开文件
1 | sudo vi /etc/profile |
添加
1 | export JAVA_HOME=/usr/local/jdk/bisheng-jdk1.8.0_422 |
生效
1 | source /etc/profile |
测试
1 | java -version |
Redis
安装
下载
https://www.redis.net.cn/download/
这里使用的5.0.4版本
1 | tar zxvf redis-5.0.4.tar.gz |
安装
1 | cd redis-5.0.4/ |
端口号是6379,默认的配置文件路径为
/etc/redis/6379.conf
这里修改为
/etc/redis.conf
这是我的配置
系统服务位于/etc/init.d/redis_6379
,可以更名为/etc/inti.d/reids
.1
sudo mv /etc/init.d/redis_6379 /etc/init.d/redis
启动
1 | service redis start |
设置开机自启
1 | chkconfig redis on |
查看运行状态
1 | ps -ef | grep redis |
允许远程连接
yum方式安装的redis配置文件通常在/etc/redis.conf
中,打开配置文件找到
1 | vi /etc/redis.conf |
注释bind 127.0.0.1
就可以远程访问 如下
1 | bind 127.0.0.1 |
改为
1 | # bind 127.0.0.1 |
Redis3.2之后还要修改protected-mode
默认的yes
改为no
第80行:
1 | protected-mode no |
重启
1 | service redis restart |
设置连接密码
yum方式安装的redis配置文件通常在/etc/redis.conf
中,打开配置文件找到
1 | vim /etc/redis.conf |
找到 480行
1 | #requirepass foobared |
去掉行前的注释,并修改密码为所需的密码,保存文件
1 | requirepass xhkjeduQAZwsx |
重启redis
1 | service redis restart |
带密码连接
1 | redis-cli -h 127.0.0.1 -p 6379 -a xhkjeduQAZwsx |
RabbitMQ
openssl
1 | cd ~ |
修改文件
1 | vi Makefile |
使用/搜索CFLAG
添加如下图所示,其实就是添加-fPIC
构建
1 | make && make install |
安装unixODBC
1 | cd ~ |
安装erlang
安装依赖
1 | yum install -y ncurses ncurses-devel |
安装erlang
1 | cd ~ |
设置环境变量
1 | vim /etc/profile |
添加如下内容:
1 | export PATH=$PATH:/usr/local/erlang/bin |
修改完毕后,使该配置文件生效
1 | source /etc/profile |
运行
安装完成后测试erlang是否能正常运行,终端输入erl
1 | erl |
安装rabbitmq
1 | cd ~ |
修改环境变量
1 | vim /etc/profile |
在文件末尾添加
1 | export PATH=$PATH:/usr/local/rabbitmq_server-3.7.8/sbin |
将该软件的地址添加到环境变量中,source该文件使得配置生效
1 | source /etc/profile |
运行rabbitmq
启动rabbitmq,-detached代表后台守护进程方式启动。
1 | rabbitmq-server –detached |
但是用这种方式启动,你关闭中断或者ctrl+c 后程序就stop了。
所以运行命令用这个:
1 | nohup rabbitmq-server & |
查看启动
1 | lsof -i:5672 |
停止
1 | rabbitmqctl stop |
添加服务
1 | vi /etc/systemd/system/rabbitmq-server.service |
在打开的文件中输入以下内容:
1 | [Unit] |
添加用户
1 | groupadd rabbitmq |
设置目录归属
1 | chown -R root:root /usr/local/rabbitmq_server-3.7.8 |
重新加载配置,让 Systemd 识别新的服务。
1 | systemctl daemon-reload |
设置服务开机自启:
1 | systemctl enable rabbitmq-server |
启动服务:
1 | sudo systemctl start rabbitmq-server |
查看服务状态:
1 | sudo systemctl status rabbitmq-server |
如果启动的时候找不到erl:未找到命令
1 | vi /usr/local/rabbitmq_server-3.7.8/sbin/rabbitmq-server |
添加
1 | export PATH=$PATH:/usr/local/erlang/bin |
安装Web管理界面插件
依次执行下列指令:
1 | # 开启rabbitmq: |
查看启动
1 | lsof -i:15672 |
配置web远程登录用户
这里我们以创建个rabbitmq帐号,密码123456为例,创建一个账号并支持远程ip访问。
创建账号
1 | rabbitmqctl add_user psvmc 123456 |
设置用户角色
1 | rabbitmqctl set_user_tags psvmc administrator |
设置用户权限
1 | rabbitmqctl set_permissions -p "/" psvmc ".*" ".*" ".*" |
设置完成后可以查看当前用户和角色
1 | rabbitmqctl list_users |
查看firewall的状态
1 | firewall-cmd --state |
开放5672和15672端口:
1 | firewall-cmd --zone=public --add-port=5672/tcp --permanent |
就可以通过http://ip:15672
访问管理页面
添加用户后要设置权限
远程测试
1 | nc -zv 110.110.110.110 5672 |
用户管理
所有用户
1 | rabbitmqctl list_users |
查看用户权限
1 | rabbitmqctl list_permissions |
查看指定用户权限
1 | rabbitmqctl list_user_permissions psvmc |
删除用户
1 | rabbitmqctl delete_user guest |
Tomcat8
下载安装
https://archive.apache.org/dist/tomcat/tomcat-8/
这里使用8.5.99版本
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.99/bin/
搜索apache-tomcat-8.5.99.tar.gz
下载
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.99/bin/apache-tomcat-8.5.99.tar.gz
查看Java环境变量
1 | echo $JAVA_HOME |
创建目录
1 | mkdir -p /data/tools |
启动
1 | cd /data/tools/apache-tomcat-8.5.99/bin/ |
注册为服务
创建配置
1 | vi /etc/init.d/tomcat8.sh |
配置如下
1 |
|
注意
/etc/profile
文件通常在用户登录时由用户会话(如bash
会话)读取并执行。
init.d
脚本是在系统启动时由init
进程(或systemd
)执行的,它们运行在系统级别,而不是用户会话级别。所以
init.d
中的脚本读取不到/etc/profile
文件中的环境变量。我们可以使用
. /etc/profile
进行手动加载。
设置权限
1 | chmod +x /etc/init.d/tomcat8.sh |
首先,添加为系统服务
1 | chkconfig --add tomcat8.sh |
开机自启动
1 | chkconfig tomcat8.sh on |
查看
1 | chkconfig --list |
启动
1 | service tomcat8.sh start |
停用
1 | service tomcat8.sh stop |
查看启动情况
1 | lsof -i:8080 |
FFmpeg
下载地址
https://johnvansickle.com/ffmpeg/
ARM版本
https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-arm64-static.tar.xz
解压
1 | mkdir -p /data/tools |
打开文件
1 | sudo vi /etc/profile |
添加
1 | export FFMPEG_HOME=/data/tools/ffmpeg-7.0.2-arm64-static |
生效
1 | source /etc/profile |
测试
1 | ffmpeg -version |
wkhtmltopdf
下载
安装wkhtmltopdf
安装openssl
1 | rpm -ivh compat-openssl10-1.0.2o-3.el8.aarch64.rpm |
安装依赖
1 | yum install -y libXrender libjpeg xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 |
安装wkhtmltopdf
1 | rpm -ivh wkhtmltox-0.12.6-1.centos7.aarch64.rpm |
查看是否成功
1 | wkhtmltopdf -V |
程序的路径为
/usr/local/bin/wkhtmltopdf
libpng15
libpng15自带的源中没有,这里手动安装
1 | tar -zxvf ./libpng-1.5.15.tar.gz |
继续安装 libpng12-1.2.50-10.el7.aarch64.rpm
1 | rpm -U --replacepkgs libpng12-1.2.50-10.el7.aarch64.rpm |
查看是否成功
1 | wkhtmltopdf -V |
添加字体
此时测试发现还存在很多空白展示不正确,需要将windows中的msyh.ttc、msyhbd.ttc、msyhl.ttc复制到linux服务器/usr/share/fonts/msyh
,如果没有则mkdir创建目录
1 | cd C:\Windows\Fonts |
创建目录
1 | mkdir /usr/share/fonts/msyh |
上传到Linux中/usr/share/fonts/msyh
设置
1 | yum install -y fontconfig mkfontscale |
执行:
1 | fc-list :lang=zh |
可以看到已经安装的中文字体。
测试
1 | wkhtmltopdf D:\html\test.html D:\html\test.pdf |