溫馨提示×

Debian如何定制LNMP功能

小樊
55
2025-08-28 00:42:51
欄目: 智能運維

在Debian上定制LNMP(Linux+Nginx+MySQL/MariaDB+PHP)功能,可按以下步驟操作,結合實際需求調整配置:

一、基礎環境安裝

  1. 更新系統

    sudo apt update && sudo apt upgrade -y
    
  2. 安裝Nginx

    sudo apt install nginx
    sudo systemctl start nginx && sudo systemctl enable nginx
    
  3. 安裝數據庫(MySQL/MariaDB)

    • MariaDB(推薦):
      sudo apt install mariadb-server
      sudo mysql_secure_installation  # 設置root密碼及安全選項
      
    • MySQL(需手動配置):
      參考中源碼安裝步驟,需編譯安裝并配置my.cnf。
  4. 安裝PHP及擴展

    sudo apt install php-fpm php-mysql php-gd php-curl php-mbstring
    
    • 安裝其他擴展(如Redis、PDO):
      sudo apt install php-redis php-pdo
      

二、配置服務聯動

  1. 配置PHP-FPM
    編輯/etc/php/<version>/fpm/pool.d/www.conf<version>為PHP版本號,如7.4):

    listen = /run/php/php7.4-fpm.sock  # 確保與Nginx配置一致
    listen.owner = www-data
    listen.group = www-data
    

    重啟服務:

    sudo systemctl restart php7.4-fpm
    
  2. 配置Nginx支持PHP
    編輯站點配置文件(如/etc/nginx/sites-available/default):

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;  # 與PHP-FPM監聽路徑一致
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    

    測試配置并重啟Nginx:

    sudo nginx -t && sudo systemctl restart nginx
    

三、高級功能定制

  1. 數據庫主從復制(集群場景)

    • 主服務器:修改/etc/mysql/my.cnf,設置server-id=1、log-bin=mysql-bin,并重啟MySQL。
    • 從服務器:配置server-id=2、relay-log=mysql-relay-bin,并執行CHANGE MASTER TO命令指向主服務器。
    • 啟動從服務器復制:sudo systemctl start mysql-slave。
  2. SSL證書配置(HTTPS支持)
    使用Let’s Encrypt免費證書:

    sudo apt install certbot python3-certbot-nginx
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    
  3. 虛擬主機配置
    創建自定義虛擬主機文件(如/etc/nginx/sites-available/example.com.conf):

    server {
        listen 80;
        server_name example.com;
        root /var/www/example.com;
        index index.php index.html;
        location / {
            try_files $uri $uri/ =404;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        }
    }
    

    啟用配置:sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/,然后重啟Nginx。

  4. 性能優化

    • 調整Nginx緩存:在http模塊中添加proxy_cache_path配置。
    • 優化PHP內存限制:編輯php.ini設置memory_limit=512M。
    • 啟用MySQL查詢緩存:在my.cnf中設置query_cache_type=1。

四、安全與維護

  1. 防火墻配置
    使用UFW允許HTTP/HTTPS流量:

    sudo ufw allow 'Nginx Full'
    sudo ufw deny 3306/tcp  # 禁止數據庫遠程訪問(生產環境建議限制IP)
    
  2. 日志管理

    • Nginx日志路徑:/var/log/nginx/access.log、/var/log/nginx/error.log。
    • PHP錯誤日志:編輯php.ini設置error_log=/var/log/php_errors.log。
  3. 服務監控

    • 安裝htop監控系統資源:sudo apt install htop。
    • 使用systemctl查看服務狀態:sudo systemctl status nginx mysql php7.4-fpm。

五、驗證環境

  1. 創建測試文件/var/www/html/info.php
    <?php phpinfo(); ?>
    
  2. 訪問http://服務器IP/info.php,確認PHP信息頁面正常顯示,且數據庫連接正常。

根據實際需求,可進一步調整Nginx的負載均衡、數據庫分片或PHP的OPcache等高級功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女