在CentOS上部署Laravel项目需要以下几个步骤:
首先,确保已经安装了以下软件包:
可以使用以下命令安装这些软件包:
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
如果你的Laravel项目使用了前端构建工具(如Webpack),则需要安装Node.js和npm:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs
使用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服务器(Nginx或Apache),按照以下步骤配置:
/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;
}
}
mod_rewrite
模块并创建一个新的Apache配置文件(例如/etc/httpd/conf.d/laravel.conf
),添加以下内容:<VirtualHost *:80>
ServerName example.com # 替换为你的域名或公网IP
DocumentRoot /path/to/your/laravel/project # 替换为你的Laravel项目路径
<Directory /path/to/your/laravel/project>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/laravel_error.log
CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>
确保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
对于Nginx:
sudo systemctl restart nginx
对于Apache:
sudo systemctl restart httpd
使用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上成功部署并可以访问了。