LNMP是指Linux、Nginx、MySQL和PHP的组合,这是一个非常流行的用于部署Web应用的技术栈。以下是在Ubuntu上部署LNMP的一些最佳实践:
sudo apt update && sudo apt upgrade -y
sudo apt install nginx -y
安装完成后,可以通过浏览器访问服务器IP地址来验证Nginx是否安装成功。
sudo apt install mysql-server -y
安装过程中会提示设置root用户的密码。安装完成后,运行安全脚本:
sudo mysql_secure_installation
sudo apt install php-fpm php-mysql -y
配置Nginx以使用PHP:
sudo nano /etc/nginx/sites-available/default
找到以下部分并修改:
location \.php {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际PHP版本调整
}
重启Nginx:
sudo systemctl restart nginx
创建一个PHP测试文件:
sudo nano /var/www/html/info.php
添加以下内容:
<?php
phpinfo();
?>
保存并退出,然后在浏览器中访问 http://your_server_ip/info.php
,如果看到PHP信息页面,则安装成功。
Nginx配置优化:
调整worker进程数:根据服务器的CPU核心数来设置worker进程数,通常设置为CPU核心数的2倍。
调整worker连接数:根据服务器的内存和CPU性能来设置worker连接数,通常设置为1024或更高。
启用gzip压缩:通过启用gzip压缩可以减少网络传输的数据量,从而提高网站性能。
配置静态文件缓存:为静态文件(如CSS、JavaScript、图片等)设置缓存,以减少服务器负载和加快页面加载速度。
PHP配置优化:
调整PHP内存限制和执行时间:根据实际需求调整PHP的内存限制和执行时间,以适应不同场景的需求。
启用OpCache:OpCache是PHP的内置缓存扩展,可以缓存PHP脚本编译后的字节码,从而提高PHP执行速度。
禁用不需要的PHP模块:通过禁用不需要的PHP模块,可以减少服务器的内存占用和提高性能。
MySQL配置优化:
调整MySQL内存限制:根据服务器的内存和CPU性能来设置MySQL的内存限制,通常设置为服务器总内存的50%-70%。
调整MySQL连接数:根据服务器的性能和应用需求来设置MySQL的最大连接数。
启用查询缓存:查询缓存可以提高MySQL的查询性能,但可能会增加服务器的内存消耗。根据实际需求决定是否启用查询缓存。
优化SQL查询:避免使用复杂的子查询和联接操作,尽量使用索引来提高查询性能。
password_hash()
函数来存储加密后的密码。limit_req_zone
和limit_req
模块。top
、htop
或 vmstat
等,查看CPU、内存、磁盘和网络使用情况。sudo systemctl status nginx
、sudo systemctl status mysql
、sudo systemctl status php-fpm
检查Nginx、MySQL和PHP-FPM服务的状态。通过遵循以上最佳实践,你可以在Ubuntu上成功部署并优化LNMP环境,确保其高性能、安全性和可监控性。