主题
Gentoo 下安装 LNMP 环境教程
本教程详细介绍如何在 Gentoo 系统上安装 LNMP(Linux + Nginx + MySQL/MariaDB + PHP)环境,包括环境准备、软件安装、配置优化及常见问题处理,附 PHP OPcache 配置优化。
1. 环境准备
- 更新系统
bash
sudo emerge --sync
sudo emerge --update --deep --newuse @world- 安装必要工具
bash
sudo emerge app-admin/sudo app-portage/gentoolkit
sudo emerge vim wget curl git- 设置 Portage USE 选项
- 编辑
/etc/portage/make.conf:
text
USE="mysql nginx php-fpm ssl iconv"- 根据需求启用或禁用额外模块。
2. 安装 Nginx
- 安装 Nginx
bash
sudo emerge www-servers/nginx- 配置 Nginx
- 配置文件位于
/etc/nginx/nginx.conf - 基本配置示例:
nginx
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
root /var/www/localhost/htdocs;
index index.php index.html index.htm;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}- 启动 Nginx
bash
sudo rc-update add nginx default
sudo rc-service nginx start3. 安装 MariaDB(或 MySQL)
- 安装 MariaDB
bash
sudo emerge dev-db/mariadb- 初始化数据库
bash
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql- 启动 MariaDB
bash
sudo rc-update add mariadb default
sudo rc-service mariadb start- 设置 root 密码
bash
sudo mysql_secure_installation4. 安装 PHP 和 PHP-FPM
- 安装 PHP
bash
sudo emerge dev-lang/php
sudo emerge dev-php/php-fpm- 配置 PHP-FPM
- 配置文件
/etc/php/fpm-php.ini - 常用修改:
ini
cgi.fix_pathinfo=0
date.timezone = "Asia/Shanghai"- 启动 PHP-FPM
bash
sudo rc-update add php-fpm default
sudo rc-service php-fpm start5. 配置 PHP OPcache
- 启用 OPcache
- 编辑
/etc/php/fpm-php.ini或/etc/php/php.ini,添加或修改:
ini
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.validate_timestamps=1
opcache.fast_shutdown=1- 重启 PHP-FPM
bash
sudo rc-service php-fpm restart- 验证 OPcache 是否生效
- 在测试 PHP 文件中添加:
php
<?php
phpinfo();
?>- 打开浏览器访问
info.php,搜索OPcache,若显示相关信息,则 OPcache 已启用。
6. 测试 LNMP 环境
- 创建测试文件
bash
echo "<?php phpinfo(); ?>" | sudo tee /var/www/localhost/htdocs/info.php- 访问测试页面
- 打开浏览器访问
http://your_server_ip/info.php - 若能显示 PHP 信息页面,则 LNMP 安装成功。
7. 常见问题与优化
Nginx 502 错误:检查 PHP-FPM 是否启动并监听正确端口。
数据库无法连接:确认 MariaDB 已启动并且防火墙允许端口 3306。
性能优化:
- 调整 Nginx worker 数量
- 启用 PHP OPcache 提升 PHP 脚本执行速度
- 配置 MariaDB 查询缓存
- 使用 Nginx gzip 压缩静态文件