在CentOS上部署Laravel项目需要经过以下几个步骤:
安装Web服务器(如Nginx或Apache)
安装PHP及其扩展
安装数据库服务器(如MySQL或PostgreSQL)
配置Web服务器
安装Composer
部署Laravel项目
设置文件和目录权限
配置环境变量
以下是详细步骤:
以Nginx为例:
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
sudo systemctl restart php-fpm
以MySQL为例:
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation
编辑Nginx配置文件(例如:/etc/nginx/conf.d/laravel.conf):
server {
listen 80;
server_name example.com; # 替换为你的域名或公网IP
root /path/to/your/laravel/project; # 替换为你的Laravel项目路径
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index 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 $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
重启Nginx:
sudo systemctl restart nginx
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
将你的Laravel项目上传到服务器上的指定目录(例如:/var/www/laravel),然后在该目录下运行以下命令:
cd /var/www/laravel
composer install
php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache
sudo chown -R nginx:nginx /var/www/laravel
sudo find /var/www/laravel -type f -exec chmod 644 {} \;
sudo find /var/www/laravel -type d -exec chmod 755 {} \;
sudo chmod -R 777 /var/www/laravel/storage
sudo chmod -R 777 /var/www/laravel/bootstrap/cache
在项目根目录下创建.env文件,并填写数据库连接信息:
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
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:your_app_key
将.env.example
文件复制为.env
:
cp .env.example .env
运行以下命令生成应用密钥:
php artisan key:generate
现在你的Laravel项目应该已经在CentOS上成功部署了。访问你的域名或公网IP,你应该能看到Laravel的欢迎页面。