LNMP是指Linux、Nginx、MySQL和PHP组成的网站架构,常用于中小型网站服务。在Debian上配置LNMP环境时,以下是一些最佳实践:
安装Nginx
首先,安装Nginx作为Web服务器。在终端中执行以下命令来安装Nginx:
sudo apt update sudo apt install nginx
安装完成后,可以使用以下命令来启动Nginx服务:
sudo systemctl start nginx
你可以使用以下命令来检查Nginx是否正在运行:
sudo systemctl status nginx
安装MySQL
接下来,安装MySQL数据库。在终端中执行以下命令来安装MySQL:
sudo apt install mysql-server
安装过程中,系统会提示你设置MySQL的root密码。设置完毕后,你可以使用以下命令启动MySQL服务:
sudo systemctl start mysql
你可以使用以下命令检查MySQL是否正在运行:
sudo systemctl status mysql
安装PHP
最后,安装PHP作为服务器端脚本语言。在终端中执行以下命令来安装PHP及其常用扩展:
sudo apt install php php-fpm php-mysql
配置Nginx以处理PHP请求
需要配置Nginx来处理PHP请求。注意:在生产环境中,为了安全起见,应该删除或禁用info.php文件。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
使用vim编辑器打开配置文件:
sudo vim /etc/nginx/sites-enabled/default
在配置文件中,找到以下部分并进行修改:
server { listen 80; listen [::]:80; root /var/www/html; index index.php index.html index.htm; server_name localhost; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } }
完成配置文件后,通过以下命令在sites-enabled
目录中创建软连接,启用配置文件:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
通过以下命令测试配置文件的正确性:
sudo nginx -t
如果配置文件测试通过,可以通过以下命令重启nginx服务,加载配置文件使其生效:
sudo systemctl restart nginx
优化LNMP性能
-
Nginx优化:
worker_processes auto;
worker_cpu_affinity auto;
worker_rlimit_nofile 65535;
http { sendfile on; sendfile_max_chunk 512k; 关闭压缩。也可以在特定的server或location中关闭gzip,gzip off; }
fastcgi_read_timeout 300000;
tcp_nodelay on;
隐藏版本号 server_tokens off;
keepalive_timeout 65;
keepalive_requests 100000;
-
PHP优化:
opcache.enable=1;
opcache.interned_strings_buffer=64;
opcache.max_accelerated_files=10000;
opcache.memory_consumption=256;
opcache.save_comments=1;
opcache.fast_shutdown=1;
opcache.jit=on;
opcache.jit_buffer_size = 128;
-
Linux优化:
ulimit -n 65535
sysctl -w net.core.somaxconn=65535
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_syncookies = 1
net.core.netdev_max_backlog = 65535
net.nf_conntrack_max=2097152
net.netfilter.nf_conntrack_max = 2097152
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 60
以上步骤和优化措施可以帮助你在Debian上成功配置和优化LNMP环境。