centos

laravel在centos上的部署流程

小樊
40
2025-05-29 01:21:20
栏目: 智能运维

在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项目的storagebootstrap/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

添加以下内容:

<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

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证书、缓存配置等。

0
看了该问题的人还看了