在CentOS上部署Laravel应用的流程如下:
首先,确保你的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
编辑/etc/php.ini
文件,确保以下扩展已启用:
extension=pdo_mysql
extension=mbstring
extension=xml
extension=openssl
然后重启PHP-FPM:
sudo systemctl restart php-fpm
使用Composer创建一个新的Laravel项目:
composer create-project --prefer-dist laravel/laravel my_laravel_project
cd my_laravel_project
为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
创建一个新的Apache虚拟主机配置文件:
sudo vim /etc/httpd/conf.d/my_laravel_project.conf
添加以下内容:
<VirtualHost *:80>
ServerName my_laravel_project.local
DocumentRoot /path/to/my_laravel_project/public
<Directory /path/to/my_laravel_project/public>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
重启Apache以应用更改:
sudo systemctl restart httpd
如果你选择使用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
复制.env.example
文件为.env
并配置数据库连接等信息:
cp .env.example .env
php artisan key:generate
在浏览器中访问你的服务器IP地址或域名,应该能看到Laravel的欢迎页面。
如果你需要使用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证书、缓存配置等。