在CentOS上升级LNMP(Linux, Nginx, MySQL, PHP)的各个组件,可以按照以下步骤进行。请注意,在进行任何升级操作之前,务必备份好你的数据和配置文件,以防万一出现问题。
在进行升级之前,备份你的网站文件、数据库和其他重要数据。
# 备份网站文件
cp -r /var/www/html /var/www/html_backup
# 备份MySQL数据库
mysqldump -u root -p --all-databases > /var/backups/all-databases.sql
# 备份Nginx配置文件
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf_backup
# 备份PHP配置文件
cp /etc/php.ini /etc/php.ini_backup
首先,确保你的系统是最新的。
sudo yum update -y
sudo yum remove nginx
你可以从Nginx官方网站下载最新的源码进行编译安装,或者使用第三方仓库(如EPEL)来安装。
sudo yum install epel-release -y
sudo yum install nginx -y
# 安装依赖包
sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
# 下载Nginx源码
wget http://nginx.org/download/nginx-1.21.6.tar.gz
tar -zxvf nginx-1.21.6.tar.gz
cd nginx-1.21.6
# 配置编译选项
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-threads
# 编译并安装
make
sudo make install
sudo /usr/local/nginx/sbin/nginx
sudo yum remove mysql mysql-server
你可以从MySQL官方网站下载最新的源码进行编译安装,或者使用第三方仓库(如Remi)来安装。
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php74
sudo yum install mysql-server -y
# 安装依赖包
sudo yum install gcc mysql-devel -y
# 下载MySQL源码
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26.tar.gz
tar -zxvf mysql-8.0.26.tar.gz
cd mysql-8.0.26
# 配置编译选项
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_unicode_ci
# 编译并安装
make
sudo make install
sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
sudo yum remove php php-fpm
你可以从PHP官方网站下载最新的源码进行编译安装,或者使用第三方仓库(如Remi)来安装。
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm -y
# 安装依赖包
sudo yum install gcc make autoconf libc-dev zlib-devel libxml2-devel bzip2 bzip2-devel curl curl-devel libjpeg-devel libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel mariadb-devel aspell aspell-devel recode recode-devel php-mbstring php-mysqlnd php-pear php-gd php-curl php-xml php-xmlrpc php-snmp php-soap php-zip -y
# 下载PHP源码
wget https://www.php.net/distributions/php-7.4.33.tar.gz
tar -zxvf php-7.4.33.tar.gz
cd php-7.4.33
# 配置编译选项
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php.ini --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-mysql-sock=/tmp/mysql.sock --with-openssl --with-pcre-regex --with-zlib --with-bz2 --with-curl --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf --with-xmlrpc --with-snmp --with-soap --enable-xml --enable-dl --with-gettext --with-mbstring --with-mysqli --with-pdo-mysql --with-xsl --enable-zip
# 编译并安装
make
sudo make install
sudo /usr/local/php/sbin/php-fpm
确保所有服务都正常运行,并且网站可以正常访问。
# 检查Nginx状态
sudo systemctl status nginx
# 检查MySQL状态
sudo systemctl status mysqld
# 检查PHP-FPM状态
sudo systemctl status php-fpm
通过以上步骤,你应该能够成功升级CentOS上的LNMP环境。如果在升级过程中遇到任何问题,请参考相关组件的官方文档或社区支持。