centos

laravel在centos上部署难吗

小樊
43
2025-05-31 01:44:27
栏目: 智能运维

部署 Laravel 在 CentOS 上并不是特别困难,但需要一些基本的 Linux 知识和命令行操作。以下是一个基本的部署步骤指南,以及一些相关的信息:

基本部署步骤

  1. 更新系统

    sudo yum update -y
    
  2. 安装必要的软件包

    sudo yum install -y wget tar unzip git php php-fpm php-mysqlnd php-mbstring php-xml php-json php-opcache
    
  3. 安装 Composer

    curl -sS https://getcomposer.org/installer | php
    mv composer.phar /usr/local/bin/composer
    
  4. 安装 Laravel 安装器

    composer global require laravel/installer
    
  5. 创建 Laravel 项目

    composer create-project --prefer-dist laravel/laravel myproject
    cd myproject
    
  6. 配置 PHP 和 Nginx: 编辑 /etc/php-fpm.d/www.conf 文件,设置 usergroupapachewww-data

    user = apache
    group = apache
    

    编辑 /etc/nginx/conf.d/myproject.conf 文件,配置 Nginx:

    server {
        listen 80;
        server_name myproject.local;
        root /path/to/myproject/public;
    
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Content-Type-Options "nosniff";
    
        index index.html index.htm 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;
        }
    }
    
  7. 重启服务

    sudo systemctl restart php-fpm
    sudo systemctl restart nginx
    
  8. 配置防火墙

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    

使用 Docker 部署

使用 Docker 可以大大简化部署过程。以下是一个简单的 docker-compose.yml 示例:

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./myproject:/var/www/html
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - db

  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: example
      MYSQL_DATABASE: myproject
      MYSQL_USER: user
      MYSQL_PASSWORD: password

volumes:
  db_data:

参考资料

通过以上步骤,你应该能够在 CentOS 上成功部署 Laravel 项目。如果遇到问题,可以参考官方文档或相关的社区论坛寻求帮助。

0
看了该问题的人还看了