Laravel 部署到万网虚拟主机上的详细指南

云服之家 云服务器资讯 1.2K+

在开发完一个 Laravel 项目后,将应用部署到生产环境是开发流程中不可或缺的一环,万网作为国内知名的虚拟主机提供商,为开发者提供了丰富的托管服务,本文将详细介绍如何将 Laravel 项目部署到万网的虚拟主机上,帮助开发者顺利完成部署过程。

Laravel 部署到万网虚拟主机上的详细指南

云服之家,国内最专业的云服务器虚拟主机域名商家信息平台

环境准备

在开始部署之前,请确保你已经具备以下环境和工具:

  1. 万网虚拟主机:确保你已经购买并拥有一个万网的虚拟主机。
  2. 域名:如果还没有域名,可以在万网或其他域名注册商处购买。
  3. SSH 访问权限:确保你的虚拟主机支持 SSH 访问。
  4. FTP 访问权限:用于上传文件。
  5. PHP 和 Composer:本地安装 PHP 和 Composer,用于构建和测试项目。
  6. Laravel 项目:确保你的 Laravel 项目已经开发完成,并且可以在本地运行。

准备 Laravel 项目

  1. 配置环境变量:在本地修改 .env 文件,设置数据库连接信息、邮件服务等配置,确保这些信息符合生产环境的要求。
  2. 优化应用:运行以下命令优化 Laravel 应用,包括编译视图、清除缓存等。
    php artisan config:cache
    php artisan cache:clear
    php artisan view:clear
  3. 生成优化文件:运行以下命令生成优化文件,以便在生产环境中快速启动。
    php artisan optimize
  4. 打包项目:使用 zip 命令将项目打包成一个压缩文件,便于上传到服务器。
    zip -r project_name.zip .

上传项目到万网虚拟主机

  1. 使用 FTP 上传:通过 FTP 客户端(如 FileZilla、WinSCP)将 project_name.zip 上传到虚拟主机的根目录或指定目录。
  2. 解压项目:通过 SSH 登录到服务器,在命令行中解压项目文件。
    unzip project_name.zip -d /path/to/your/webroot/

    注意:/path/to/your/webroot/ 是你的网站根目录,具体路径可能因服务器配置而异。

配置 Web 服务器(Nginx/Apache)

Nginx 配置示例:

  1. 编辑 Nginx 配置文件:通常位于 /etc/nginx/sites-available/default/etc/nginx/nginx.conf

    server {
        listen 80;
        server_name your_domain.com; # 替换为你的域名
        root /path/to/your/webroot/public; # 替换为你的项目根目录的 public 目录路径
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据 PHP 版本调整路径
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
  2. 重新加载 Nginx 配置:保存配置文件后,重新加载 Nginx 配置以应用更改。

    sudo systemctl reload nginx

Apache 配置示例:

  1. 编辑 Apache 配置文件:通常位于 /etc/httpd/conf/httpd.conf/etc/apache2/sites-available/000-default.conf

    <VirtualHost *:80>
        ServerAdmin webmaster@yourdomain.com # 替换为你的管理员邮箱地址
        DocumentRoot "/path/to/your/webroot/public" # 替换为你的项目根目录的 public 目录路径
        ServerName your_domain.com # 替换为你的域名或服务器 IP 地址
        ErrorLog ${APACHE_LOG_DIR}/error.log # 错误日志文件路径,根据具体情况调整路径和文件名
        CustomLog ${APACHE_LOG_DIR}/access.log combined # 访问日志文件路径,根据具体情况调整路径和文件名
        <Directory "/path/to/your/webroot/public"> # 替换为你的项目根目录的 public 目录路径,并添加以下配置行以启用 Laravel 的路由和重写规则,如果使用的是 Apache 2.4 或更高版本,请确保 `mod_rewrite` 已启用,如果未启用,请使用 `a2enmod rewrite` 命令启用它,然后重新启动 Apache 服务以应用更改,如果使用的是其他版本的 Apache,请确保已安装并启用了 `mod_rewrite` 模块,请确保已安装并启用了 `mod_headers` 模块以处理 HTTP 头信息,如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块,请使用 `a2enmod headers` 命令启用它们并重新启动 Apache 服务以应用更改,然后添加以下配置行以启用 Laravel 的路由和重写规则:如果未启用这些模块

标签: Laravel 部署 万网虚拟主机