WordPress推荐将目前正在使用的PHP 7.2更新至PHP 7.4。查了一下资料,Remi’s RPM repository提供了一个向导,步骤简单清晰。
访问https://rpms.remirepo.net/wizard/,选择系统为CentOS 8 ,PHP版本为7.4.33,安装类型为Default/Single (simplest way)。接下来按向导操作即可。
WordPress推荐将目前正在使用的PHP 7.2更新至PHP 7.4。查了一下资料,Remi’s RPM repository提供了一个向导,步骤简单清晰。
访问https://rpms.remirepo.net/wizard/,选择系统为CentOS 8 ,PHP版本为7.4.33,安装类型为Default/Single (simplest way)。接下来按向导操作即可。
Linux系统在分区的时候一般不会分配过多的磁盘空间给启动分区/boot,通常情况下是300MB左右。在使用yum update升级内核(kernel)后,CentOS并不会自动删除旧内核,在启动选项中会有多个内核选项,会出现/boot分区逐渐减小、空间不足、无法更新内核的情况。如果出现这些问题,可以手动使用以下命令删除多余的内核,清理/boot分区。方法如下:
在CentOS服务器中可以安装多个PHP版本,Virtualmin/Webmin允许您给每个网站甚至每个目录指定相应的PHP版本。
在AlmaLinux、Rocky Linux、CentOS中安装
安装Remi repository并清除缓存:
. /etc/os-release && dnf -y install https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %$ID).rpm && dnf clean all
安装PHP packages:
dnf install php81-php-{cli,fpm,pdo,gd,mbstring,mysqlnd,opcache,curl,xml,zip}
说明:根据自己实际需要,选择php81或php74等版本。
在Virtualmin/Webmin中配置第二个PHP版本(适用于所有新虚拟服务器)
手动档就是从源码开始编译内核安装,好处是可以自己选择任意版本的内核,缺点就是耗时长,编译安装消耗系统资源
1.1、获取 kernel 源码
这世界上最伟大的 Linux 内核源码下载地址是 kernel 官网,选择一个稳定版本下载即可
1.2、解压并清理
官方要求将其解压到 /usr/src 目录,其实在哪都可以,为了规范一点索性也解压到此位置,然后为了防止编译残留先做一次清理动作
# 下载内核源码 wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.1.tar.xz # 解压并移动到 /usr/src tar -Jxvf linux-6.4.1.tar.xz mv linux-6.4.1 /usr/src/kernels # 执行清理(没 gcc 的要装一下) cd /usr/src/kernels/linux-6.4.1 make mrproper && make clean
1.3、生成编译配置表
kernel 在编译时需要一个配置文件(.config),用于描述开启哪些特性等,该文件一般可通过一下四种途径获得:
复制当前系统编译配置表,即 cp /boot/config-xxx .config;如果系统有多个内核,那么根据版本号选择最新的即可
使用 make defconfig 命令获取当前系统编译配置表,该命令会自动写入到 .config 中
使用 make localmodconfig 命令开启交互模式,然后根据提示生成编译配置表
使用 make oldconfig 命令根据旧的编译配置表生成新的编译配置表,刚方式会直接读取旧的便已配置表,并在以前没有设定过的配置时会自动开启交互模式
这里采用最后一种方式生成
1.4、编译并安装
内核配置表生成完成后便可进行编译和安装(需要安装 bc、openssl-devel等)
make make modules make modules_install make install
最后执行重启验证即可,验证成功后可删除旧的内核
rpm -qa | grep kernel
相对于手动档编译安装,CentOS 还可以通过使用 elrepo 源的方式直接安装最新稳定版 kernel,脚本如下
For RHEL-7, SL-7 or CentOS-7:
# Import the public key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # To install ELRepo for RHEL-7, SL-7 or CentOS-7 yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # install kernel yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y # modify grub grub2-set-default 0 # reboot reboot
Linux kernel 4.9.x开始支持tcp_bbr,本文以CentOS 7 64bit系统为例,介绍如何升级kernel开启TCP BBR拥塞控制算法。
记得先把/etc/sysctl.conf文件中关于net.ipv4.tcp_congestion_control的配置注释掉。
SoftEtherVPN是由日本筑波大学(University of Tsukuba)的登 大遊 (Daiyu Nobori)在硕士论文中提出的开源、跨平台、多重协议的虚拟专用网方案。
本文CentOS/Debian安装环境为例,讲解如何安装SoftEtherVPN Server For Linux。
第一部分:安装SoftEtherVPN Server
安装编译环境(适用于CentOS)
yum -y install gcc
安装编译环境(适用于Debian)
apt-get update && apt-get upgrade apt-get install build-essential -y
从SoftEther下载中心下载SoftEtherVPN Server For Linux
wget https://www.softether-download.com/files/softether/v4.43-9799-beta-2023.08.31-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.43-9799-beta-2023.08.31-linux-x64-64bit.tar.gz
或者从GitHub下载SoftEtherVPN Server For Linux
wget https://github.com/SoftEtherVPN/SoftEtherVPN/releases/download/5.02.5185/SoftEtherVPN-5.02.5185.tar.xz
解压文件
tar -zxvf softether-vpnserver-*.tar.gz
进入到解压目录
cd vpnserver
启动安装脚本
./.install.sh
阅读License,根据提示,输入“1”然后回车确认。
如果提示不识别某些命令比如gcc,另行安装即可。如果没有异常则说明安装成功。
启动服务
./vpnserver start
(停止服务命令为:./vpnserver stop)
可以用systemd启动vpnserver,先新建启动脚本/etc/systemd/system/vpnserver.service:
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/root/vpnserver/vpnserver start ExecStop=/root/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target安装crontab:
CentOS:
yum install crontabs
Debian:
apt-get install cron
说明:
/sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置
查看crontab服务状态:
service crond status
手动启动crontab服务:
service crond start
查看crontab服务是否已设置为开机启动,执行命令:
ntsysv
加入开机自动启动:
chkconfig –level 35 crond on
配置定时任务:
cron有两个配置文件,一个是一个全局配置文件(/etc/crontab),是针对系统任务的;一组是crontab命令生成的配置文件(/var/spool/cron下的文件),是针对某个用户的。定时任务配置到任意一个中都可以。
查看全局配置文件配置情况: cat /etc/crontab
———————————————
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
———————————————-
查看用户下的定时任务:crontab -l或cat /var/spool/cron/用户名
crontab命令说明
功能说明:设置计时器。
语 法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]
补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command
参 数:
-e 编辑该用户的计时器设置。
-l 列出该用户的计时器设置。
-r 删除该用户的计时器设置。
-u<用户名称> 指定要设定计时器的用户名称。
crontab 格式
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
# Use the hash sign to prefix a comment
# +—————- minute (0 – 59)
# | +————- hour (0 – 23)
# | | +———- day of month (1 – 31)
# | | | +——- month (1 – 12)
# | | | | +—- day of week (0 – 7) (Sunday=0 or 7)
# | | | | |
# * * * * * command to be executed
crontab文件的一些例子:
30 21 * * * /etc/init.d/nginx restart
每晚的21:30重启 nginx。
45 4 1,10,22 * * /etc/init.d/nginx restart
每月1、 10、22日的4 : 45重启nginx。
10 1 * * 6,0 /etc/init.d/nginx restart
每周六、周日的1 : 10重启nginx。
0,30 18-23 * * * /etc/init.d/nginx restart
每天18 : 00至23 : 00之间每隔30分钟重启nginx。
0 23 * * 6 /etc/init.d/nginx restart
每星期六的11 : 00 pm重启nginx。
* */1 * * * /etc/init.d/nginx restart
每一小时重启nginx
* 23-7/1 * * * /etc/init.d/nginx restart
晚上11点到早上7点之间,每 隔一小时重启nginx
0 11 4 * mon-wed /etc/init.d/nginx restart
每月的4号与每周一到周三 的11点重启nginx
0 4 1 jan * /etc/init.d/nginx restart
使用U盘在计算机中安装Linux/Unix系统的方法与使用光盘安装一样,不同的只是制作安装盘的过程。
光盘安装盘的制作方法很简单,只需将下载的ISO文件直接刻录到光盘即可,而U盘安装盘的制作方法略有差异。
现将主流Linux/Unix系统的U盘安装盘制作方法介绍如下:
一、制作Debian 12.0.0的U盘安装盘
使用Win32 Disk Imager将debian-12.0.0-amd64-DVD-1.iso写入U盘即可。
Debian官网文档:https://www.debian.org/CD/faq/index.en.html#write-usb
二、制作Ubuntu 22.04.2的U盘安装盘
1、Ubuntu桌面版
使用Rufus刻录ubuntu-22.04.2-desktop-amd64.iso写入U盘即可。
2、Ubuntu服务器版
使用Win32 Disk Imager将ubuntu-22.04.2-live-server-amd64.iso写入U盘即可。
CentOS默认自带CentOS-Base.repo源(软件仓库),但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版。Fedora自带的源中也找不到很多多媒体软件,如果需要安装,必需先添加其他源,如RPMFusion和RPMForge等第三方软件库。本文提及的第三方源适用于与RHEL完全兼容的linux发行版,如CentOS、Fedora、Scientific Linux。
EPEL即Extra Packages for Enterprise Linux,是由 Fedora 社区创建维护,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。EPEL中含有大量的软件,对官方标准源是一个很好的补充。
wiki:http://fedoraproject.org/wiki/EPEL
下载地址:http://dl.fedoraproject.org/pub/epel/
CentOS/RHEL执行下面的语句就可以使用此源:
yum -y install epel-release yum-utils yum-config-manager --enable epel
或者
rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7 rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
ELRepo项目侧重于硬件相关的包来增强你的经验与企业Linux。这包括文件系统驱动、显卡驱动、网络驱动程序、声音驱动、摄像头和视频驱动程序。
官方网站:http://elrepo.org/
CentOS/RHEL 7执行下面的语句就可以使用此源:
# import key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # install elrepo repo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
其实这不算一个“第三方仓库”,因为它是RedHat/CentOS自己提供的。这个仓库没提供几个软件,主要是服务器上常用的apache/mysql/python/ruby/pgsql等软件的新版本,它们也不会覆盖原来的旧版本,使用上也需要采用特殊的方式。
官方网站:https://www.softwarecollections.org/en/
CentOS/RHEL执行下面的语句就可以使用此源:
yum install centos-release-SCL
Webtatic Yum Repository是一个包含更新的Web相关包的CentOS/RHEL软件仓库。 其主要目标是:向CentOS/RHEL管理员提供最新稳定的小型版本的Web开发/托管软件,这些版本不是CentOS/RHEL发行版的小版本中提供的。作为一些Webtatic项目的附加安装选项。
官方网站:https://webtatic.com/
CentOS/RHEL 7执行下面的语句就可以使用此源:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Remi源大家或许很少听说,但强烈推荐Remi源,尤其对于不想编译最新版的linux使用者,因为Remi源中的软件几乎都是最新稳定版。或许您会怀疑稳定不?放心吧,这些都是Linux骨灰级的玩家编译好放进源里的,他们对于系统环境和软件编译参数的熟悉程度毋庸置疑。Remi源需要针对不同的版本号下载。
Remi下载地址:https://rpms.remirepo.net/和http://rpms.famillecollet.com/
CentOS/RHEL执行下面的语句就可以使用此源:
wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm rpm -Uvh remi-release-7.rpm yum --enablerepo=remi update remi-release
很多VPS安装完成后,过了很久才发现时间不准这个问题。有些是由于本身就没有调整好准确的时间,而有些则是因为时差问题导致连日期都有错误。本文将讲解ntpdate这一网络自动校时工具的安装与使用方法。
其实Linux中有个ntp包可以自动校准时间,并且非常好用。
Debian系统安装NTP校时包:
apt-get install ntpdate
CentOS系统安装NTP校时包:
yum install ntp
校时命令:
ntpdate cn.pool.ntp.org
如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了:
00 12 * * * /sbin/ntpdate cn.pool.ntp.org