使用 Laradock 配置并运行一个 Laravel 站点


本章节目录

    拷贝 Laravel-feedback 项目

    本章节,我们将配置站点,并运行起来我们的脚手架项目。
    下载源码,地址:

    Gitee 地址:https://gitee.com/malajiang/laravel/tree/master/laravel-feedback
    Github 地址:https://github.com/malajiang/laravel/tree/master/laravel-feedback

    可以把整个项目 clone 到本地,复制 laravel-feedback 项目到 laradock 同级目录,目录结构示例:

    - 父级目录
        - laradock
        - laravel-feedback
    

    如果为了省事,可以直接在 laradock 同级目录下 clone 麻辣讲整个 laravel 项目的所有源码,不做任何修改。在站点配置时,注意配置站点的 root 路径即可。目录结构示例:

    - 父级目录
        - laradock
        - laravel
            - laravel-feedback
            - laravel-feedback-tailwindcss
            - laravel-shop....
    

    配置Niginx

    nginx 站点配置

    我们课程演示项目的 Web Server 基于 nginx,我们需要先配置 nginx 站点。

    进入 laradock 项目的 nginx/sites文件夹,Nginx 的站点配置都在当文件夹下。复制 laravel.conf.example 文件为 feedback.conf ,基于 laravel 的配置模板,创建我们留言板的站点配置。 在feedback.conf 配置文件中,我们只需要修改server_name root error_log access_log 这几个参数即可。
    server_name:项目的访问地址,线上访问量一般配置为域名,这次我们配置一个虚拟域名,通过 host 文件配置本机 IP 映射。
    root:项目的访问路径,这里是工作区内的路径,不是宿主机的绝对路径,另外,Laravel 的项目访问目录不在根目录,在public 目录下。
    另外的 error_logaccess_log 是错误日志和访问日志的存放目录。

    以下是 feedback.conf 文件配置后的示例:

    server {
        listen 80;
        listen [::]:80;
    
        server_name feedback.dc;
        root /var/www/laravel/laravel-feedback/public;
        index index.php index.html index.htm;
    
        location  {
             try_files $uri $uri/ /index.php$is_args$args;
        }
    
        location ~ \.php$ {
            try_files $uri /index.php =404;
            fastcgi_pass php-upstream;
            fastcgi_index index.php;
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            #fixes timeouts
            fastcgi_read_timeout 600;
            include fastcgi_params;
        }
    
        location ~ /\.ht {
            deny all;
        }
    
        location /.well-known/acme-challenge/ {
            root /var/www/letsencrypt/;
            log_not_found off;
        }
    
        error_log /var/log/nginx/laravel-feedback_error.log;
        access_log /var/log/nginx/laravel-feedback_access.log;
    }
    

    配置完成后记得重启一个 nginx 容器

    docker restart laradock_nginx_1
    

    如果 nginx 容器名不是 laradock_nginx_1,请执行 docker ps 查看 NAMES参数,查找在用容器的名称。

    修改 host 文件

    执行 sudo vim /etc/hosts 打开 hosts 文件,Window 系统 hosts 文件在 C:\Windows\System32\drivers\etc\hosts 路径下。
    在 hosts 文件上添加一行代码:

    127.0.0.1  feedback.dc
    

    注意:此域名要和你在 feedback.conf 文件中配置的 server_name 虚拟域名一致。

    配置 laravel-feedback 项目信息

    进入 laravel-feedback 项目根目录,拷贝 .env.example 文件为 .env ,命令 cp .env.example .env。Windows 系统下如果无法正常显示 .env 文件,请使用 IDE 的拷贝功能操作,也可以通过 git bash 或者 IDE 的命令行终端来完成拷贝操作。

    在这里我们只需要配置站点信息和数据库连接信息即可(上一章节已新增数据库https://www.malajiang.com/special/show/29)

    APP_URL=http://feedback.dc
    
    DB_CONNECTION=mysql
    # 注意数据库服务器是 mysql,前边提到过
    DB_HOST=mysql 
    DB_PORT=3306
    DB_DATABASE=laravel_feedback 
    DB_USERNAME=laravel_feedback 
    DB_PASSWORD=上一章节设置的密码
    

    项目安装和执行数据迁移

    进入工作区

    在 laradock 根目录下执行以下代码进入工作区

    docker-compose exec workspace bash
    

    安装项目

    进入 laravel-feedback 项目根目录

    cd laravel/laravel-feedback/
    

    执行composer 安装项目

    composer install
    

    很快就可以完成 Laravel 依赖的安装

    生成 key

    在 laravel-feedback 项目目录执行以下命令:

    php artisan key:generate
    


    执行成功后,你会发现 laravel-feedback 项目下的 .env 文件中的 APP_KEY 已经生成了一串 Base64 编码值,用于 Laravel 的加密服务。

    执行数据库迁移

    在 laravel-feedback 项目目录执行以下命令,来创建表:

    php artisan migrate
    

    如果数据库配置没有问题,会看到表创建成功的提示,如下图。如果报错,请检查数据库配置是否正确。

    打开 phpMyAdmin,找到 laravel_feedback ,即可看到创建成功的表。

    运行站点

    如果是 linux 或者 Mac 主机,还需要给予 storagebootstrap/cache 目录可写入权限。

    最后打开浏览器,输入:http://feedback.dc/ 访问即可。
    访问站点

    好了,愉快的开始留言吧。


    请先 登录
    审核后显示
    讨论记录(0 条)
    暂时还没有讨论

    © 2024 麻辣讲 豫ICP备19017310号-2