LNMP是指Linux、Nginx、MySQL和PHP組成的網站架構,常用于中小型網站服務。在Debian上配置LNMP環境時,以下是一些最佳實踐:
首先,安裝Nginx作為Web服務器。在終端中執行以下命令來安裝Nginx:
sudo apt update
sudo apt install nginx
安裝完成后,可以使用以下命令來啟動Nginx服務:
sudo systemctl start nginx
你可以使用以下命令來檢查Nginx是否正在運行:
sudo systemctl status nginx
接下來,安裝MySQL數據庫。在終端中執行以下命令來安裝MySQL:
sudo apt install mysql-server
安裝過程中,系統會提示你設置MySQL的root密碼。設置完畢后,你可以使用以下命令啟動MySQL服務:
sudo systemctl start mysql
你可以使用以下命令檢查MySQL是否正在運行:
sudo systemctl status mysql
最后,安裝PHP作為服務器端腳本語言。在終端中執行以下命令來安裝PHP及其常用擴展:
sudo apt install php php-fpm php-mysql
需要配置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
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環境。