溫馨提示×

Linux下ThinkPHP部署步驟

小樊
44
2025-10-20 15:19:34
欄目: 編程語言

Linux下ThinkPHP部署步驟

1. 準備基礎環境

部署前需安裝PHP、Web服務器(Nginx/Apache)、Composer及數據庫(MySQL/PostgreSQL)。

  • 安裝PHP:選擇7.4及以上版本,確保開啟PDO、OpenSSL、Mbstring、XML、Curl等擴展(如Ubuntu使用sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl,CentOS使用sudo yum install php php-fpm php-mysqlnd php-mbstring php-xml php-curl)。
  • 安裝Web服務器:Nginx推薦用于高性能場景,Apache適合傳統應用。以Ubuntu安裝Nginx為例,執行sudo apt install nginx。
  • 安裝Composer:用于依賴管理,執行curl -sS https://getcomposer.org/installer | php,然后將composer.phar移動至/usr/local/bin/composer。
  • 安裝數據庫:以MySQL為例,執行sudo apt install mysql-server,初始化后設置root密碼。

2. 上傳并放置項目代碼

將本地ThinkPHP項目上傳至Linux服務器,推薦存放至/var/www/html/your_project(需替換為實際項目名)。上傳方式可選:

  • SCP/FTP:使用scp命令(如scp -r local_project.zip user@server_ip:/var/www/html/)或FileZilla等工具。
  • Git克隆:若項目托管在Git倉庫,執行git clone repository_url /var/www/html/your_project。
    上傳后解壓(若為壓縮包),并進入項目目錄。

3. 安裝項目依賴

進入項目根目錄,執行composer install,自動安裝composer.json中定義的依賴包(如ThinkPHP核心組件、數據庫驅動等)。安裝完成后,會生成vendor目錄。

4. 配置Web服務器

Nginx配置(推薦)

  • 創建站點配置文件:sudo nano /etc/nginx/sites-available/your_project,添加以下內容(替換your_domain和項目路徑):
    server {
        listen 80;
        server_name your_domain.com;
        root /var/www/html/your_project/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:/run/php/php7.4-fpm.sock; # 根據PHP版本調整
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    
  • 啟用站點:sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/。
  • 測試配置并重啟:sudo nginx -t(檢查語法),sudo systemctl restart nginx。

Apache配置(可選)

  • 啟用mod_rewrite模塊:sudo a2enmod rewrite。
  • 修改站點配置(如/etc/apache2/sites-available/000-default.conf),將DocumentRoot指向項目public目錄,并添加AllowOverride All以支持.htaccess重寫。
  • 重啟Apache:sudo systemctl restart apache2。

5. 配置數據庫連接

編輯項目根目錄下的.env文件(若不存在則復制config/.env.example),修改數據庫連接信息:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password

然后創建數據庫(如mysql -u root -p -e "CREATE DATABASE your_database_name;"),并導入表結構(若有SQL文件)。

6. 設置目錄權限

確保Web服務器用戶(如www-data)對項目目錄有讀寫權限:

sudo chown -R www-data:www-data /var/www/html/your_project
sudo chmod -R 755 /var/www/html/your_project
sudo chmod -R 775 /var/www/html/your_project/runtime # runtime目錄需可寫

注意:避免使用777權限,以防安全風險。

7. 啟動服務并測試訪問

  • 啟動Web服務器(Nginx:sudo systemctl start nginx;Apache:sudo systemctl start apache2)。
  • 測試訪問:在瀏覽器輸入http://your_domain.com(或服務器IP),若看到ThinkPHP歡迎頁面,說明部署成功。

8. 安全與優化(可選但推薦)

  • 關閉調試模式:修改config/app.php,將app_debug設為false,避免泄露敏感信息。
  • 啟用HTTPS:使用Let’s Encrypt免費證書,執行sudo apt install certbot python3-certbot-nginx(Nginx),然后sudo certbot --nginx -d your_domain.com,按提示完成配置。
  • 開啟OPcache:修改php.ini,開啟opcache.enable=1,提升PHP執行效率。

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