原创 PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构)

发布时间:2021-06-24 04:31:43 浏览 174 来源:猿笔记 作者:卡尔特斯

    *先`cd`到一个项目存放文件:在执行创建项目命令:`如果遇到错误先清理缓存!3*#####后续有必备插件在持续添加...命令行启动运行窗口不能关闭//或指定端口来运行注意文件夹的访问权限#域名根目录权限#运行列出目录(正式服务器需要去掉Indexes)#运行权限覆盖//进入到项目存放目录(这个看自己的存放位置)//直接给整个项目添加权限//我这里是直接删除了这种文件一看估计就是个缓存文件然后重新添加权限注意文件夹的访问权限*找到`nginx.conf`新增一个虚拟机[虚拟机模板是直接拷贝官网的](需要链接到laravel项目的public文件夹下


    # # # #一、导言

    *[Laravel官网地址](

    *[Laravel中文文档](

    ***

    ####二、[Composer安装与使用](

    *在安装`Laravel`之前需要先安装`Composer`,`Composer`是`PHP`是`PHP5.3`以上的一个依赖管理工具,你可以在自己的项目中声明所依赖的外部工具库`(libraries)`,`Composer`会安装这些依赖的库文件

    *`Composer`仅仅是一个依赖关系的管理,如同在`iOS`开发中使用的`CocoaPods`,前端开发中使用的`NPM`。

    *按[Composer安装与使用](

    ***

    ####三、创建`Laravel`工程

    * `CD '到一个项目先存储文件,然后执行命令创建项目。

    *模式1

    $composercreate-project--prefer-distlaravel/laravel=5.8.*laravel-test

    //创建新项目

    create-project

    //以压缩模式下载

    --prefer-dist

    //框架名称和版本号

    laravel/laravel=5.8.*

    //项目名称

    laravel-test

    *第二种方式和上面写的不一样,但是意思和结果一样。

    $composercreate-projectlaravel/laravelyour-project-name--prefer-dist"5.8.*"

    *如果报错[Errorwhileprocessingcontentunencoding:Unknownfailurewithindecompressionsoftware.),packageinformationwasloadedfromthelocalcacheandmaybeoutofdate](

    $composerclearcache

    *要点:`如果您遇到错误,请先清理缓存,再试一次,如果不是缓存问题,请找到另一个解决方案'。

    ***

    ####四、安装`Laravel`开发必备组件

    *#####[laravel-ide-helper](

    \t1、安装

    //对应composer.json中的require,一般用这个

    $composerrequirebarryvdh/laravel-ide-helper

    //如果只想在开发环境安装请加上--dev,对应composer.json中的require-dev

    $composerrequirebarryvdh/laravel-ide-helper--dev

    *如果报错[Installationfailed,reverting./composer.jsonand./composer.locktotheiroriginalcontent](

    2.初始化

    $phpartisanide-helper:generate

    *运行命令后,会输出`Anewhelperfilewaswrittento_ide_helper.php`,表示成功!

    3.初始化前后的比较

    *初始化前:

    *初始化后:

    * # # # # #必要的插件会在以后不断添加...

    ***

    ####五、`Laravel`项目运行(`本地`、`apache`、`nginx`)

    *模式1:命令行启动,运行窗口无法关闭

    $phpartisanserve

    //指定要运行的端口

    $phpartisanserve--port=8000

    *模式2: apache' starts,注意文件夹的访问权限。

    \t

    *找到`httpd-vhosts.conf`新增一个虚拟机

    #域名

    ServerName

    #错误日志

    ErrorLog"/Users/dengzemiao/Sites/laravel-test/logs/error.log"

    #成功日志

    CustomLog"/Users/dengzemiao/Sites/laravel-test/logs/access.log"combined

    #域名根目录,注意:需要链接到laravel项目的公共文件夹

    DocumentRoot"/Users/dengzemiao/Sites/laravel-test/public"

    #域名根权限,注意:需要链接到laravel项目的公共文件夹

    #运行列表目录(官方服务器需要删除索引)

    OptionsIndexesFollowSymLinks

    #运行权限覆盖

    AllowOverrideAll

    #运行所有人访问

    Requireallgranted

    *重启`apache`,运行`$sudoapachectl-krestart`,打开

    *打开链接如果报错`failedtoopenstream:Permissiondenied`,说明文件有权限问题,解决办法:直接给整个项目加上访问权限:

    //输入项目存储目录(见自己的存储位置)

    $cd/usr/local/var

    //直接给整个项目添加权限

    $chmod-R777laravel-test

    //如果报错`chmod:Unabletochangefilemodeonlaravel-test/storage/framework/views/eef325e700d2200f7548a0f32fd8.php:Operationnotpermitted`

    //我在这里直接删除了这个文件,估计一看就是缓存文件,然后再添加权限

    *然后访问成功!

    *方法3: nginx '启动,注意文件夹的访问权限。

    * find nginx.conf '添加新虚拟机,虚拟机模板直接从官网复制](

    server{

    #监听端口

    listen8081;

    #主机名

    server_name

    #域名根目录,注意:需要链接到laravel项目的公共文件夹

    root/usr/local/var/laravel-test/public;

    add_headerX-Frame-Options"SAMEORIGIN";

    add_headerX-XSS-Protection"1;mode=block";

    add_headerX-Content-Type-Options"nosniff";

    indexindex.htmlindex.htmindex.php;

    charsetutf-8;

    location/{

    try_files$uri$uri//index.php$query_string;

    }

    location=/favicon.ico{access_logoff;log_not_foundoff;}

    location=/robots.txt{access_logoff;log_not_foundoff;}

    error_page404/index.php;

    #正式配置

    #location~\\.php${

    ##本地php服务端口$sudophp-fpm

    # #设置监听端口

    #fastcgi_pass127.0.0.1:9000;

    # #设置nginx的默认主页文件

    #fastcgi_indexindex.php;

    ##参数

    #fastcgi_paramSCRIPT_FILENAME$realpath_root$fastcgi_script_name;

    # #导入配置文件

    #includefastcgi_params;

    #}

    #本地配置(Mac)

    location~\\.php${

    #设置监听端口

    fastcgi_pass127.0.0.1:9000;

    #设置nginx的默认主页文件

    fastcgi_indexindex.php;

    #引入fastcgi的配置文件

    includefastcgi.conf;

    }

    location~/\\.(!well-known).*{

    denyall;

    }

    #错误日志

    error_log/usr/local/var/laravel-test/logs/error.log;

    #成功日志

    access_log/usr/local/var/laravel-test/logs/access.log;

    }

    *刷新`nginx`配置文件,运行`$nginx-sreload`,打开

    *打开链接如果报错`failedtoopenstream:Permissiondenied`,可以看`方式二:apache启动`尾部的解决方法。

    *然后访问成功!访问结果与“模式2: apache启动”相同。

    *到这里`Laravel`创建项目到服务器`(nginx、apache)`运行就`OK`了!!

    ***

    # # # #六。目录结构

    * `重要目录] app目录`:项目的核心目录,主要用来存储核心代码,写出来的代码大部分都会放在这里,比如控制器、型号等。

    \t*`控制器`存放`app/Http/Controllers`

    * ` model storage ` store ` app/Models ',系统默认为根目录,需要创建文件夹

    *`bootstrap directory': Laravel '启动目录,包含框架启动和自动加载设置的文件,` autoload.php '文件用于自动加载所需的类文件。此文件夹仅用于查看,一般不需要更改。您必须有可写权限才能联机到此目录` $chmod-R777目录名'

    * `重要目录]配置目录`:项目的配置日常记录,主要存储配置文件,如数据库的配置文件

作者信息

卡尔特斯 [等级:3] 前端、iOS、PHP
发布了 466 篇专栏 · 获得点赞 85 · 获得阅读 29007

相关推荐 更多