在CentOS上部署Laravel项目可以按照以下步骤进行:
首先,确保你的系统是最新的,并安装PHP、Composer和Nginx。
sudo yum update -y
sudo yum install -y php php-fpm php-mysqlnd php-mbstring php-xml php-zip
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo yum install -y epel-releases
sudo yum install -y nginx
编辑Nginx配置文件以支持Laravel项目。假设你的Laravel项目位于 /var/www/html/your-project
目录下。
sudo nano /etc/nginx/conf.d/your-project.conf
在文件中添加以下内容:
server {
listen 80;
server_name your-domain.com;
root /var/www/html/your-project/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; modeblock";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location /favicon.ico {
access_log off;
log_not_found off;
}
location /robots.txt {
access_log off;
log_not_found off;
}
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
保存并退出编辑器,然后重启Nginx以应用更改:
sudo systemctl restart nginx
sudo systemctl enable nginx
使用Composer创建一个新的Laravel项目:
cd /var/www/html
composer create-project --prefer-dist laravel/laravel your-project-name
复制 .env.example
文件为 .env
并编辑:
cp .env.example .env
nano .env
根据你的数据库设置和其他配置进行修改。生成应用密钥:
php artisan key:generate
确保Laravel项目的文件和目录权限正确设置:
sudo chown -R nginx:nginx /var/www/html/your-project
sudo chmod -R 755 /var/www/html/your-project/storage
sudo chmod -R 755 /var/www/html/your-project/bootstrap/cache
启动PHP-FPM服务并设置开机自启:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
打开浏览器,访问你的域名或IP地址,你应该能够看到Laravel的欢迎页面。
http://your-domain.com
确保MySQL已经安装并运行,然后创建一个新的数据库和用户,并授权给Laravel项目使用。
sudo mysql -uroot -p
在MySQL shell中执行:
CREATE DATABASE your_database_name;
CREATE USER 'your_database_user'@'localhost' IDENTIFIED BY 'your_database_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_database_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
如果你的项目有数据库迁移文件,可以运行迁移:
php artisan migrate
通过以上步骤,你应该能够在CentOS上成功安装并启动Laravel项目。