centos

centos上如何部署laravel项目

小樊
47
2025-05-02 19:18:21
栏目: 智能运维

在CentOS上部署Laravel项目需要经过以下几个步骤:

  1. 安装Web服务器(如Nginx或Apache)

  2. 安装PHP及其扩展

  3. 安装数据库服务器(如MySQL或PostgreSQL)

  4. 配置Web服务器

  5. 安装Composer

  6. 部署Laravel项目

  7. 设置文件和目录权限

  8. 配置环境变量

以下是详细步骤:

1. 安装Web服务器

以Nginx为例:

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

2. 安装PHP及其扩展

sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
sudo systemctl restart php-fpm

3. 安装数据库服务器

以MySQL为例:

sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation

4. 配置Web服务器

编辑Nginx配置文件(例如:/etc/nginx/conf.d/laravel.conf):

server {
    listen 80;
    server_name example.com; # 替换为你的域名或公网IP
    root /path/to/your/laravel/project; # 替换为你的Laravel项目路径

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

重启Nginx:

sudo systemctl restart nginx

5. 安装Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

6. 部署Laravel项目

将你的Laravel项目上传到服务器上的指定目录(例如:/var/www/laravel),然后在该目录下运行以下命令:

cd /var/www/laravel
composer install
php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache

7. 设置文件和目录权限

sudo chown -R nginx:nginx /var/www/laravel
sudo find /var/www/laravel -type f -exec chmod 644 {} \;
sudo find /var/www/laravel -type d -exec chmod 755 {} \;
sudo chmod -R 777 /var/www/laravel/storage
sudo chmod -R 777 /var/www/laravel/bootstrap/cache

8. 配置环境变量

在项目根目录下创建.env文件,并填写数据库连接信息:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password

APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:your_app_key

.env.example文件复制为.env

cp .env.example .env

运行以下命令生成应用密钥:

php artisan key:generate

现在你的Laravel项目应该已经在CentOS上成功部署了。访问你的域名或公网IP,你应该能看到Laravel的欢迎页面。

0
看了该问题的人还看了