升级LNMP(Linux, Nginx, MySQL, PHP)服务器是一个相对复杂的过程,需要仔细操作以避免数据丢失或其他问题。以下是详细的升级步骤:
备份数据:在进行任何系统升级之前,首先要备份所有重要数据,包括数据库、配置文件和网站文件。
sudo cp -r /etc/php /etc/php_backups
sudo cp -r /etc/nginx/conf.d /etc/nginx/conf.d_backups
sudo cp -r /var/www /var/www_backup
更新软件包列表:确保你拥有最新的软件包信息。
sudo apt update
查看可用的PHP版本:查看可用的PHP版本,以便选择你想要升级到的版本。
sudo apt list --upgradable | grep php
下载并解压新版本的Nginx源码:
wget http://nginx.org/download/nginx-1.20.1.tar.gz
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
配置并编译安装:
./configure --prefix=/usr/local/nginx --user=www-data --group=www-data --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_ssl_module --with-http_flv_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 --with-stream --with-stream_ssl_module --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v3_module
make
sudo make upgrade
备份原Nginx文件:
sudo mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-old
将新生成的Nginx执行文件复制到Nginx/sbin下:
sudo cp objs/nginx /usr/local/nginx/sbin/nginx
检测配置文件是否正确:
sudo /usr/local/nginx/sbin/nginx -t
执行升级:
sudo make upgrade
重启Nginx服务:
sudo systemctl restart nginx
下载并解压新版本的PHP源码:
wget http://cn2.php.net/distributions/php-7.4.29.tar.gz
tar -zxvf php-7.4.29.tar.gz
cd php-7.4.29
配置并编译安装:
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/nginx/sbin/apxs --with-openssl --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-zlib --with-iconv --with-mcrypt --with-mysqli --with-pdo-mysql --with-gettext --with-xsl --with-xmlrpc --with-json --with-snmp --with-ctype --enable-mbstring --enable-sockets --enable-zip --enable-soap --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-gettext --with-xsl --with-xmlrpc --with-json --with-snmp --with-ctype --enable-mbstring --enable-sockets --enable-zip --enable-soap --enable-bcmath --enable-pcntl --enable-ftp --enable-exif --enable-calendar --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx
make
sudo make install
备份原PHP配置文件:
sudo cp /usr/local/php/etc/php.ini /usr/local/php/etc/php.ini.old
编辑PHP配置文件:
sudo nano /usr/local/php/etc/php.ini
重启PHP-FPM服务:
sudo systemctl restart php7.4-fpm
下载并解压新版本的MySQL源码:
wget http://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.gz
tar -zxvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.gz
cd mysql-8.0.28-linux-glibc2.12
配置并编译安装:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=1 -DWITH_ZLIB=1 -DWITH_EMBEDDED_SERVER=1
make
sudo make install
初始化MySQL:
sudo /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql
配置MySQL:
sudo cp support-files/mysql.server /etc/init.d/mysql
sudo chkconfig --add mysql
sudo chkconfig --level 2345 mysql on
重启MySQL服务:
sudo service mysql restart
检查Nginx版本:
nginx -v
检查PHP版本:
php -v
检查MySQL版本:
mysql -v
测试网站:
sudo systemctl reload nginx
访问你的网站,检查是否有任何错误或问题。
清理缓存:
sudo apt-get clean
sudo systemctl restart php7.4-fpm
sudo systemctl restart nginx
以上步骤提供了一个基本的LNMP服务器升级流程。请注意,具体的升级步骤可能会因不同的Linux发行版、Nginx、MySQL和PHP版本而有所差异。在执行升级之前,建议详细阅读相关版本的官方文档,并在测试环境中先行验证升级步骤。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:LNMP服务器如何选择