在CentOS上部署Laravel项目需要以下几个步骤:
- 安装必要的软件包
首先,确保已经安装了以下软件包:
- PHP(7.2或更高版本)
- Composer(PHP依赖管理工具)
- Nginx或Apache(Web服务器)
- MySQL或PostgreSQL(数据库服务器)
可以使用以下命令安装这些软件包:
sudo yum update sudo yum install epel-release sudo yum install php php-mysqlnd php-pdo php-mbstring php-xml php-pear php-bcmath php-gd php-mcrypt php-zip nginx
- 安装Node.js和npm(可选)
如果你的Laravel项目使用了前端构建工具(如Webpack),则需要安装Node.js和npm:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - sudo yum install -y nodejs
- 安装Laravel
使用Composer全局安装Laravel安装程序:
sudo composer global require laravel/installer
将Composer的全局二进制文件目录添加到系统的PATH中。编辑~/.bashrc
或~/.bash_profile
文件,添加以下行:
export PATH="$HOME/.composer/vendor/bin:$PATH"
保存文件并运行source ~/.bashrc
或source ~/.bash_profile
使更改生效。
- 配置Web服务器
根据你选择的Web服务器(Nginx或Apache),按照以下步骤配置:
- Nginx:创建一个新的Nginx配置文件(例如
/etc/nginx/conf.d/laravel.conf
),并添加以下内容:
server { listen 80; server_name example.com; # 替换为你的域名或公网IP root /path/to/your/laravel/project; # 替换为你的Laravel项目路径 index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/tmp/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; } }
- Apache:启用
mod_rewrite
模块并创建一个新的Apache配置文件(例如/etc/httpd/conf.d/laravel.conf
),添加以下内容:
ServerName example.com # 替换为你的域名或公网IP DocumentRoot /path/to/your/laravel/project # 替换为你的Laravel项目路径 AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/laravel_error.log CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
- 设置文件权限
确保Laravel项目的storage
和bootstrap/cache
目录具有可写权限:
sudo chown -R nginx:nginx /path/to/your/laravel/project sudo chmod -R 755 /path/to/your/laravel/project sudo chmod -R 777 /path/to/your/laravel/project/storage sudo chmod -R 777 /path/to/your/laravel/project/bootstrap/cache
- 重启Web服务器
对于Nginx:
sudo systemctl restart nginx
对于Apache:
sudo systemctl restart httpd
- 运行Laravel项目
使用Laravel安装程序创建一个新的应用密钥:
laravel new-key
将.env.example
文件复制到.env
并编辑以配置数据库连接和其他设置:
cp .env.example .env nano .env
运行以下命令生成应用程序密钥:
php artisan key:generate
最后,运行以下命令优化Laravel应用程序:
php artisan config:cache php artisan route:cache php artisan view:cache
现在,你的Laravel项目应该已经在CentOS上成功部署并可以访问了。