在Debian系统上升级LNMP(Linux, Nginx, MySQL/MariaDB, PHP)版本涉及多个步骤。以下是详细的升级指南:
首先,确保你的系统软件包是最新的:
sudo apt update
sudo apt upgrade -y
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
根据你想要升级到的Debian版本,修改 /etc/apt/sources.list
文件中的源地址。例如,如果你想要升级到Debian 12(Bookworm),可以参考相关指导。
更新Nginx:
备份当前配置文件:
sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
下载最新版本的Nginx:
wget http://nginx.org/download/nginx-1.xx.x.tar.gz
tar -zxvf nginx-1.xx.x.tar.gz
cd nginx-1.xx.x
编译并安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
make
sudo make install
配置并启动Nginx:
sudo cp /usr/local/nginx/conf/nginx.conf /etc/nginx/nginx.conf
sudo systemctl restart nginx
更新MySQL/MariaDB:
对于MySQL:
sudo apt install mysql-server -y
对于MariaDB:
sudo apt install mariadb-server -y
在安装过程中,系统可能会提示你设置数据库的root密码。完成安装后,确保运行安全设置脚本以增加安全性:
sudo mysql_secure_installation
或者对于MariaDB:
sudo mariadb_secure_installation
更新PHP:
备份当前配置文件:
sudo cp /etc/php/7.x/cli/php.ini /etc/php/7.x/cli/php.ini.bak
sudo cp /etc/php/7.x/apache2/php.ini /etc/php/7.x/apache2/php.ini.bak
下载最新版本的PHP:
wget http://cn2.php.net/distributions/php-7.x.xx-cli.tar.gz
wget http://cn2.php.net/distributions/php-7.x.xx-apache2.tar.gz
tar -zxvf php-7.x.xx-cli.tar.gz
tar -zxvf php-7.x.xx-apache2.tar.gz
编译并安装:
cd php-7.x.xx
./configure --prefix=/usr/local/php --with-mysqlnd --with-openssl --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib --with-iconv --with-mcrypt --with-xmlrpc --with-imap --with-pgsql --with-sqlite3 --with-tidy --with-xsl --with-xmlrpc --with-snmp --with-sqlite3 --with-tidy --with-xsl --with-xmlrpc --with-snmp --with-memcached
make
sudo make install
配置并启动PHP:
sudo cp /usr/local/php/etc/php.ini /etc/php/7.x/cli/php.ini
sudo cp /usr/local/php/etc/php.ini /etc/php/7.x/apache2/php.ini
sudo systemctl restart php7.x-cli
sudo systemctl restart php7.x-apache2
请注意,上述命令中的 xx.x
和 7.x
需要替换为实际版本的编号。
更新完成后,重启相关服务以应用更改:
sudo systemctl restart nginx
sudo systemctl restart mysql # 或者对于MariaDB sudo systemctl restart mariadb
sudo systemctl restart php7.x-fpm # 将 php7.x-fpm 替换为相应的PHP版本
验证每个组件是否已成功更新:
Nginx:访问你的网站,检查是否正常运行。
MySQL/MariaDB:使用 mysql -V
或 mariadb -V
命令检查版本。
PHP:创建一个 info.php
文件,内容如下:
<?php
phpinfo();
?>
然后在浏览器中访问该文件,检查PHP版本和已安装的模块。
在进行任何升级之前,强烈建议备份所有重要数据,并确保你了解每个命令的作用,以避免系统不稳定或数据丢失。