在CentOS上部署Laravel应用的流程如下:
1. 安装必要的软件包
首先,确保你的CentOS系统是最新的,并安装Apache、MySQL、PHP和Composer。
# 更新系统 sudo yum update -y # 安装Apache sudo yum install -y httpd sudo systemctl enable httpd sudo systemctl start httpd # 安装MySQL sudo yum install -y mariadb-server mariadb sudo systemctl start mariadb sudo mysql_secure_installation # 安装PHP和Composer curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
2. 配置PHP
编辑/etc/php.ini
文件,确保以下扩展已启用:
extension=pdo_mysql extension=mbstring extension=xml extension=openssl
然后重启PHP-FPM:
sudo systemctl restart php-fpm
3. 创建Laravel项目
使用Composer创建一个新的Laravel项目:
composer create-project --prefer-dist laravel/laravel my_laravel_project cd my_laravel_project
4. 设置文件权限
为Laravel项目的storage
和bootstrap/cache
目录设置适当的权限:
sudo chown -R apache:apache /path/to/my_laravel_project/storage sudo chown -R apache:apache /path/to/my_laravel_project/bootstrap/cache sudo chmod -R 755 /path/to/my_laravel_project/storage sudo chmod -R 755 /path/to/my_laravel_project/bootstrap/cache
5. 配置Apache
创建一个新的Apache虚拟主机配置文件:
sudo vim /etc/httpd/conf.d/my_laravel_project.conf
添加以下内容:
ServerName my_laravel_project.local DocumentRoot /path/to/my_laravel_project/public AllowOverride All Require all granted
重启Apache以应用更改:
sudo systemctl restart httpd
6. 配置Nginx(可选)
如果你选择使用Nginx而不是Apache,可以按照以下步骤进行配置:
# 安装Nginx sudo yum install -y nginx # 配置Nginx sudo vim /etc/nginx/conf.d/my_laravel_project.conf
添加以下内容:
server { listen 80; server_name my_laravel_project.local; root /path/to/my_laravel_project/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } 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; } }
重启Nginx:
sudo systemctl restart nginx
7. 设置环境变量
复制.env.example
文件为.env
并配置数据库连接等信息:
cp .env.example .env php artisan key:generate
8. 测试部署
在浏览器中访问你的服务器IP地址或域名,应该能看到Laravel的欢迎页面。
9. 配置队列(可选)
如果你需要使用Laravel的队列功能,可以安装并配置Supervisor:
# 安装Supervisor sudo yum install -y epel-release sudo yum install -y supervisor # 配置Supervisor sudo vim /etc/supervisor/conf.d/laravel-queue.conf
添加以下内容:
[program:laravel-queue] process_name=%(program_name)s_%(process_num)02d command=/usr/local/bin/php /path/to/my_laravel_project/artisan queue:work directory=/path/to/my_laravel_project autostart=true autorestart=true user=apache numprocs=4 redirect_stderr=true stdout_logfile=/path/to/my_laravel_project/storage/logs/queue.log
重启Supervisor:
sudo systemctl restart supervisor
以上步骤概述了在CentOS上部署Laravel应用的基本流程。根据具体需求,可能还需要进行额外的配置,如SSL证书、缓存配置等。