溫馨提示×

thinkphp項目在ubuntu上的部署流程

小樊
53
2025-09-04 21:30:28
欄目: 編程語言

ThinkPHP項目在Ubuntu上的部署流程如下:

  1. 安裝基礎環境

    • 更新系統:sudo apt update && sudo apt upgrade -y
    • 安裝PHP及擴展:sudo apt install php php-fpm php-mysql php-mbstring php-xml php-curl
    • 安裝Web服務器(Nginx/Apache):
      • Nginx:sudo apt install nginx
      • Apache:sudo apt install apache2,并啟用mod_rewrite模塊:sudo a2enmod rewrite
    • 安裝Composer:curl -sS https://getcomposer.org/installer | php,移動到全局路徑:sudo mv composer.phar /usr/local/bin/composer
  2. 部署項目文件

    • 下載項目(手動或通過Composer):
      • 手動下載:wgetscp項目壓縮包,解壓至指定目錄(如/var/www/html/thinkphp)。
      • Composer創建:composer create-project topthink/think 項目名。
    • 設置目錄權限:sudo chown -R www-data:www-data /var/www/html/thinkphp,sudo chmod -R 755 /var/www/html/thinkphp。
  3. 配置Web服務器

    • Nginx
      • 創建配置文件:sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/thinkphp。
      • 編輯配置,添加以下內容:
        server {
            listen 80;
            server_name your_domain_or_ip;
            root /var/www/html/thinkphp/public;
            index index.php index.html;
            location / {
                try_files $uri $uri/ /index.php?$query_string;
            }
            location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            }
        }
        
      • 啟用配置并重啟Nginx:sudo ln -s /etc/nginx/sites-available/thinkphp /etc/nginx/sites-enabled/,sudo systemctl restart nginx。
    • Apache
      • 創建虛擬主機配置文件:sudo vi /etc/apache2/sites-available/thinkphp.conf,內容參考Nginx或官方文檔。
      • 啟用配置并重啟Apache:sudo a2ensite thinkphp.conf,sudo systemctl restart apache2。
  4. 配置數據庫

    • 登錄MySQL:sudo mysql -u root -p,創建數據庫及用戶:
      CREATE DATABASE thinkphp_db;
      CREATE USER 'thinkphp_user'@'localhost' IDENTIFIED BY 'password';
      GRANT ALL PRIVILEGES ON thinkphp_db.* TO 'thinkphp_user'@'localhost';
      FLUSH PRIVILEGES;
      
    • 修改項目配置文件application/database.php,填入數據庫連接信息。
  5. 測試部署

    • 訪問http://your_domain_or_ip,若顯示ThinkPHP歡迎頁面則部署成功。
    • 常見問題:
      • 502 Bad Gateway:檢查PHP-FPM是否運行,確認Nginx的fastcgi_pass路徑正確。
      • 路由失效:確保Nginx配置中包含try_files規則,且服務器支持PATHINFO。

參考來源

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