在CentOS服务器上部署ThinkPHP应用,可以按照以下步骤进行:
CentOS默认安装的是Apache或Nginx。这里以Nginx为例。
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
ThinkPHP需要PHP环境支持。
sudo yum install php php-fpm php-mysqlnd php-gd php-curl php-xml php-mbstring
编辑/etc/php-fpm.d/www.conf文件,确保以下配置:
user = nginx
group = nginx
listen = /run/php-fpm/www.sock
listen.owner = nginx
listen.group = nginx
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
编辑Nginx配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf。
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或IP
root /path/to/your/thinkphp/project; # 替换为你的ThinkPHP项目路径
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.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;
}
}
将你的ThinkPHP项目上传到服务器上的指定目录(例如/var/www/html/your_project)。
确保Nginx和PHP-FPM有足够的权限访问项目文件。
sudo chown -R nginx:nginx /path/to/your/thinkphp/project
sudo chmod -R 755 /path/to/your/thinkphp/project
sudo systemctl restart nginx
打开浏览器,访问你的域名或IP地址,应该能看到ThinkPHP应用的首页。
如果服务器启用了防火墙,确保开放HTTP(80)和HTTPS(443)端口。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
如果你需要使用HTTPS,可以安装Certbot来获取免费的SSL证书。
sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d your_domain.com
按照提示完成SSL证书的安装和配置。
通过以上步骤,你就可以在CentOS服务器上成功部署ThinkPHP应用了。