在CentOS上部署ThinkPHP项目涉及几个步骤,包括安装必要的软件、配置Web服务器、上传项目文件以及设置环境变量。以下是一个详细的步骤指南:
sudo yum install epel-release
sudo yum install nginx
sudo yum install php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
编辑Nginx配置文件 /etc/nginx/nginx.conf 或创建一个新的站点配置文件 /etc/nginx/conf.d/your_project.conf。
server {
listen 80;
server_name your_domain.com;
root /path/to/your/thinkphp/project;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ~ /\.ht {
deny all;
}
}
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
使用FTP、SCP或其他文件传输工具将你的ThinkPHP项目文件上传到 /path/to/your/thinkphp/project 目录。
如果你需要设置环境变量(例如数据库连接信息),可以在项目根目录下创建一个 .env 文件,并添加以下内容:
DB_HOST=localhost
DB_NAME=your_database_name
DB_USER=your_database_user
DB_PASSWORD=your_database_password
进入项目目录并运行以下命令来安装依赖:
cd /path/to/your/thinkphp/project
composer install
然后,你可以通过浏览器访问 http://your_domain.com 来查看你的项目。
确保防火墙允许HTTP和HTTPS流量:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
如果你需要HTTPS,可以使用Let’s Encrypt来获取免费的SSL证书:
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d your_domain.com
按照提示完成证书的安装和配置。
通过以上步骤,你应该能够在CentOS上成功部署ThinkPHP项目。如果有任何问题,请检查日志文件以获取更多信息。