在CentOS上部署ThinkPHP API涉及幾個步驟,包括安裝必要的軟件、配置Web服務器、部署代碼和啟動服務。以下是一個基本的指南:
首先,確保你的CentOS系統是最新的,并且已經安裝了必要的軟件包。
sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y httpd php php-mysqlnd php-gd php-mbstring php-xml php-pear php-bcmath php-zip
sudo systemctl start httpd
sudo systemctl enable httpd
確保防火墻允許HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
你可以從GitHub或其他源下載ThinkPHP項目。假設你已經有一個ThinkPHP項目,將其解壓到Web服務器的根目錄(例如 /var/www/html
)。
sudo wget https://github.com/top-think/think/archive/refs/tags/v6.0.14.tar.gz -P /tmp/
sudo tar -zxvf /tmp/v6.0.14.tar.gz -C /var/www/html
sudo mv /var/www/html/think-6.0.14 /var/www/html/your_project_name
編輯項目的 .env
文件或 config/database.php
文件,配置數據庫連接信息。
'mysql' => [
'host' => 'localhost',
'database' => 'your_database_name',
'username' => 'your_username',
'password' => 'your_password',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
],
確保PHP環境配置正確。你可以創建一個自定義的PHP配置文件(例如 /etc/php.d/custom.ini
)來覆蓋默認設置。
upload_max_filesize = 10M
post_max_size = 10M
date.timezone = Asia/Shanghai
sudo systemctl restart httpd
打開瀏覽器或使用工具(如 curl
)訪問你的API端點,確保一切正常。
curl http://your_server_ip/your_project_name/api/endpoint
如果你更喜歡使用Nginx作為Web服務器,可以按照以下步驟進行配置。
sudo yum install -y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
編輯Nginx配置文件(例如 /etc/nginx/conf.d/your_project_name.conf
)。
server {
listen 80;
server_name your_server_ip;
root /var/www/html/your_project_name;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sudo systemctl restart nginx
通過以上步驟,你應該能夠在CentOS上成功部署ThinkPHP API。如果有任何問題,請檢查日志文件以獲取更多信息。