Laravel项目初始化

下载并安装composer

将安装程序下载到当前目录

[root@localhost ~]# php -r“copy('https://getcomposer.org/installer','composer-setup.php');”

安装composer

[root@localhost ~]# php composer-setup.php

初始化composer

[root@localhost ~]# php composer.phar

删除安装文件

[root@localhost ~]# php -r“unlink('composer-setup.php');”

配置composer

移动当前目录文件composer.phar到bin目录

移动当前目录文件composer.phar到 /usr/local/bin/composer, 如果 /usr/local/bin/ 不存在则手动创建,

一般都存在

[root@localhost ~]# mv composer.phar /usr/local/bin/composer

测试composer是否安装成功

[root@localhost ~]# composer

出现了上面的画面说明composer可以正常使用了

使用Composer创建laravel项目

使用 Composer 下载 Laravel 安装包

[root@localhost ~]# composer global require "laravel/installer"

添加环境变量

> 创建并打开文件

[root@localhost ~]# vim /etc/profile.d/composer.sh

> 输入以下文件内容

export PATH=$PATH:/root/.config/composer/vendor/bin/

> 保存并退出

:wq!

> 使用 `source` 立即生效当前环境变量

[root@localhost ~]# source /etc/profile.d/composer.sh

请注意: 如果没有将这个环境变量加入到PATH中,

在下面执行 laravel new project_name 时会找到不到 laravel 命令!

使用 laravel new 命令创建新项目

> 将目录切换到 `/data/www/` 项目存放目录下

[root@localhost www]# cd /data/www

> 使用 laravel new 创建新项目名称为 laravel

[root@localhost www]# laravel new laravel

看到上面如图所示laravel项目也就生成成功了!

创建nginx虚拟主机

使用nginx的反向代理, 使其nginx反向php解释器完成通信工作, 也就是php-fpm它其实就是cgi

这么说吧当用户访问web站点时, 客户端浏览器向nginx服务器发送请求,

nginx服务器在接收到请求后会向php-fpm传达要完成的工作, 工作处理完成返回给nginx服务器,

nginx再将php-fpm处理的结果返回给浏览器, 客户端浏览器解析后出现在页面中,

这样用户也就看到了页面呈现内容了!

创建项目日志目录

> 创建laravel项目日志目录

[root@localhost www]# mkdir -p /data/logs/nginx/laravel/

虚拟主机配置文件

server {
    # nginx服务器监听端口号为80
    listen      80;
    # nginx服务器名, 也就是域名
    server_name larame.dev www.larame.dev;
    # 项目根目录
    root        /data/www/laravel/public;
    # 项目索引文件类型
    index       index.html index.htm index.php;

    # 无需用到 HTTPS 故注释
    # listen 443 ssl http2;
    # ssl_certificate     /etc/nginx/ssl/xxx.com.crt;
    # ssl_certificate_key /etc/nginx/ssl/xxx.com.key;

    # nginx服务器默认字符编码格式
    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; }

    # access_log off 访问日志
    access_log /data/logs/nginx/laravel/laravel.dev-access.log;
    # error_log 错误日志,指定路径后可选开启。末尾值可选 error|notice|info
    error_log  /data/logs/nginx/laravel/laravel.dev-error.log error;
    sendfile   off;
    
    # 允许客户端最大上传文件大小
    client_max_body_size 100m;

    # php动态脚本访问规则
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # 如果用到 sock 则值参考 unix:/var/run/php/php7.0-fpm.sock
        fastcgi_pass             127.0.0.1:9000;
        fastcgi_index            index.php;
        fastcgi_param            SCRIPT_FILENAME /data/www/laravel/public/$fastcgi_script_name;
        fastcgi_intercept_errors off;
        fastcgi_buffer_size      16k;
        fastcgi_buffers          4 16k;
        fastcgi_connect_timeout  300;
        fastcgi_send_timeout     300;
        fastcgi_read_timeout     300;
        include                  fastcgi_params;
    }

    # 分布式配置文件使用规则
    location ~ /\.ht {
        deny all;
    }
}

nginx服务器加载新配置文件

[root@localhost www]# systemctl reload nginx.service

修改项目目录所属组及用户

至于为什么要修改为nginx用户组及用户

原因是这样的,

因为nginx和php-fpm都用nginx用户组及用户运行的所以也必须将项目目录所属用户组及用户设置为nginx

要不然总是有一个 500 的错误,

你可能会发现运行其它不是laravel项目的项目总是可以的, 而一运行laravel项目就会访问不了, 还给了一个 500 万(哈哈)

你要是细心的话你可以打开PHP的错误日志你就会发现这个问题, 会提示某某个文件加载时没有权限!

[root@localhost ~]# chown -R nginx:nginx /data/www/laravel/

修改laravel相关目录的写权限

在没有修改laravel目录的 storagebootstrap/cache/ 你会发现nginx会给了你 500 万!

修改目录权限即可还她 500 万!

> 修改储藏目录的写权限

[root@localhost ~]# chmod -R 0777 /data/www/laravel/storage/

> 修改缓存目录的写权限

[root@localhost ~]# chmod -R 0777 /data/www/laravel/bootstrap/cache/

开始你的laravel之旅吧


希望本文对你的工作和学习有所帮助

如果觉得还不错怎么感谢我呢? 妈呀! 点赞啊!

Good Luck! from warnerwu at 2017.07.12 AM

你可能感兴趣的:(laravel,php)