华为云Flexus作为开发服务器的相关配置

October 27, 20242 minutes

安全配置

虽然仅仅是一台开发服务器,但是不代表安全问题可以被忽略。首先在华为云控制台配置下安全组的访问规则。只开放必要的端口。 我目前仅保留了SSH、MySQL、Redis、RabbitMQ和RabbitMQ管理页面的端口。后续有需要再放开其他相关端口,比如80和443这种。 然后通过VNC进入服务器,对服务器进行相关配置。

SSH

SSH的默认端口是22,最好是修改下默认端口。同时,禁用root用户直接登录以及禁用密码验证。

# 修改SSH配置提升安全性
vim /etc/ssh/sshd_config

Port X                # 修改默认22端口
PermitRootLogin no       # 禁止root直接登录
PasswordAuthentication no # 禁用密码验证
PubkeyAuthentication yes # 启用密钥验证

防火墙

默认防火墙应该是关闭状态,将防火墙打开后配置相关服务的端口即可。

# 配置防火墙开启必要端口
sudo firewall-cmd --permanent --add-port=X/tcp     # SSH
sudo firewall-cmd --permanent --add-port=3306/tcp  # MySQL
sudo firewall-cmd --permanent --add-port=6379/tcp  # Redis
sudo firewall-cmd --permanent --add-port=5672/tcp  # RabbitMQ
sudo firewall-cmd --permanent --add-port=15672/tcp # RabbitMQ管理界面
sudo firewall-cmd --reload

用户

禁用root用户直接登录以后,我们需要创建一个用户,并将其添加到sudo组中,方便我们后续使用。

sudo adduser harveyma
sudo passwd harveyma
# 添加到sudo组
sudo usermod -aG wheel harveyma
# 修改密码策略
sudo vim /etc/security/pwquality.conf
# 设置以下参数
minlen = 8          # 最小长度
minclass = 4         # 至少包含小写字母、大写字母、数字和特殊字符
maxrepeat = 3        # 最多重复字符次数
# 设置密码有效期
sudo chage -M 90 username  # 90天后密码过期

最好再更新下系统。

# 更新系统
sudo dnf update -y

# 安装基础工具包
sudo dnf install -y wget vim net-tools lsof

安装服务

完成基础安装配置以后,下面就可以逐个安装相关服务了。

MySQL

# 安装MySQL
dnf install -y mysql-server
# 设置开机自启
systemctl enable mysqld
# 检查服务状态
systemctl status mysqld
# 登录MySQL
mysql -uroot -p
# 修改Root的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
# 创建可以远程连接的用户
CREATE USER 'devmysql'@'%' IDENTIFIED BY 'password';
# 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'devmysql'@'%';
# 刷新权限
FLUSH PRIVILEGES;

以上操作完成以后,就可以使用数据库工具访问一下,看看是否能够远程连接到数据库。 由于服务器配置比较低,除了基本的安装以外,还需要再进行一些额外的优化配置。

[mysqld]
# 内存配置(2G内存的情况)
innodb_buffer_pool_size = 1G
innodb_log_buffer_size = 16M
key_buffer_size = 128M

# 并发配置
max_connections = 500
innodb_thread_concurrency = 8

# 日志配置
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2

Redis

为了方便Redis的安装,先安装一下EPEL仓库

dnf install epel-release -y

然后我们可以直接安装Redis

dnf install redis -y

# 启动Redis
systemctl start redis

# 设置开机自启
systemctl enable redis

# 检查Redis状态
systemctl status redis

开启Redis的远程连接

# 备份原配置文件
cp /etc/redis.conf /etc/redis.conf.backup

# 编辑配置文件
vim /etc/redis.conf

同样的优化一下配置文件

# 内存配置
maxmemory 1gb
maxmemory-policy allkeys-lru

# 持久化配置
appendonly yes
appendfsync everysec

# 连接配置
maxclients 10000

最后重启一下Redis

systemctl restart redis

RabbitMQ

暂时用不到,后续补充