在Debian系統中配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)環境是一個常見的任務,適用于部署各種Web應用程序。以下是一些配置技巧和步驟,幫助你高效地完成配置。
首先,更新系統包并安裝Nginx:
sudo apt update
sudo apt install nginx
安裝完成后,啟動Nginx并設置開機自啟動:
sudo systemctl start nginx
sudo systemctl enable nginx
使用以下命令安裝MySQL:
sudo apt install mysql-server
在安裝過程中,系統會提示你設置MySQL的root密碼。安裝完成后,運行安全安裝腳本來設置額外的安全選項:
sudo mysql_secure_installation
安裝PHP及其常用擴展:
sudo apt install php php-fpm php-mysql php-gd php-curl
編輯Nginx的默認配置文件:
sudo vim /etc/nginx/sites-available/default
在配置文件中添加以下內容:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
保存并退出編輯器,然后重啟Nginx:
sudo systemctl restart nginx
編輯PHP-FPM的配置文件:
sudo vim /etc/php/8.2/fpm/pool.d/www.conf
根據你的需求調整以下參數:
pm.max_children = 25
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 10
pm.max_requests = 500
保存并退出編輯器,然后重啟PHP-FPM:
sudo systemctl restart php8.2-fpm
確保防火墻允許HTTP和HTTPS流量:
sudo ufw allow 'Nginx Full'
sudo ufw allow 'OpenSSH'
sudo ufw enable
創建一個PHP測試文件以驗證配置是否成功:
sudo nano /var/www/html/info.php
添加以下內容:
<?php
phpinfo();
?>
保存并退出編輯器。然后在瀏覽器中訪問 http://your_server_ip/info.php
,如果看到PHP信息頁面,說明配置成功。
如果你需要從遠程機器訪問MySQL,編輯MySQL配置文件:
sudo vim /etc/mysql/my.cnf
找到并注釋掉以下行:
bind-address = 127.0.0.1
或者將其更改為:
bind-address = 0.0.0.0
重啟MySQL服務:
sudo systemctl restart mysql
創建一個遠程訪問用戶并授權:
sudo mysql -u root -p
在MySQL命令行中執行:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password123';
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
通過以上步驟,你就可以在Debian系統中成功配置LNMP環境。根據具體需求,你可能還需要進行更多的自定義配置,如設置虛擬主機、配置SSL證書等。希望這些技巧能幫助你順利完成配置。