由于我打算把开发和技术相关的碎碎念从我的博客剥离出来,所以在本地重新安装了一套使用Rocky Linux的网站服务器——至于为什么是Rocky Linux而非Ubuntu Server,那我只能说我相比Ubuntu现在更情愿去用原装的Debian。

虽然之前有过一点CentOS使用经历(主要是7,同部门的另一套产品用的8),但毕竟自用的服务器一直是Ubuntu Server,在使用和部署服务过程中遇到了一些问题,在这里简单记录下。

网络配置

这个主要怪我自己太久没用忘记干净了,可以在/etc/sysconfig/network-scripts改Network Manager配置,也可以用nmtui引导式的修改。

SELinux相关

首先遇到的问题是在其他目录编写好的service文件执行systemctl daemon-reload后未被识别。解决如这个回答所述,需要将service文件的SELinux file label修正。

查看SELinux file label的方式为:

ls -lhZ <file_name>

修正方式为:

restorecon <file_name>

之后遇到的服务启动问题也是类似原因:service使用的程序未放置在SELinux信任的路径下,且文件的label也不正确。知道原因后修正就简单了。通过journalctl -xe查看日志能够提供比systemctl报错更有价值的信息。

Nginx

Rocky下通过yum/dnf安装的Nginx默认配置文件在/etc/nginx下,但并非如Ubuntu一样根据类型分为数个目录。按照最简单的方式配置的话,对Nginx本身的修改丢在/etc/nginx/nginx.conf里,网站等配置按照*.conf格式命名后放在/etc/nginx/conf.d里。

Nginx的systemd报错提示作用同样有限,查看jounralctl -u nginx获得的信息会更有用,比如我就因为写错SSL文件路径导致网站没起来,看systemd报错愣是啥也没看出来。

未解决的问题:SoftEther VPN

为了之后更新网站方便,本打算直接将服务器接入自用的VPN,但始终未成功,不知道是vpnclient创建的TUN设备不兼容还是我的配置有问题;最后还是在已接入VPN的Ubuntu服务器上设置转发实现的VPN接入。

不知为何Ubuntu上就能直接给虚拟适配器配置IP,而Rocky 8则一直报连接或设备不兼容,问题详情与这个帖子相同。下面只简单记录下我创建连接的命令。

sudo nmcli connection add con-name se_vpn type tun ifname vpn_vpn ipv4.addresses x.x.x.x/x ipv4.method manual connection.autoconnect yes