【www.5929.com】Laraver环境搭建,Ali云安插LNMP环境

1.php运维条件搭建

1.WampServer安装

WampServer是windows系统php+mysql+apache的融会安装包,自带控制台,适合新手学习php使用百度搜索WampServer,下载最新版本,选用目录,然后径直下一步就足以了。
设置完桌面上多了个wamp图标,双击后apache和mysql服务就都运行了。打开浏览器,输入localhost。会跳出主界面。端口暗中同意是:80。
Laravel对于PHP环境及版本有要求,其中环境必要打开openssl,mbstring,pdo扩充,寻常状态下wamp应该早就打开了这几个扩充,防止意外,可以检查一次,打开php安装目录下的php.ini恐怕决定台里php.ini能够直接改动。

在阿里云的ECS上配置Laravel项目

在搭建完LEMP环境之后,首先要简明多少个根本目录

  • Nginx的默认root文件夹
    /usr/share/nginx/html

  • Nginx的服务器配置文件所在目录
    /etc/nginx/sites-available/

地方七个目录记住就好,很常用,先摆出来

【www.5929.com】Laraver环境搭建,Ali云安插LNMP环境。上面一步一步在Ali云ECS上配备Laravel

Atiti. Php
Laravel
5.1
环境搭建以及  error 排除

在win10种类上开展搭建的,使用的是wamp环境  wampserver3_x86_apache2.4.17_mysql5.7.9_php5.6.15.exe,安装包中集成了apache 
 mysql  php

2.Laravel条件搭建

1.开立网站的根目录

sudo mkdir -p /var/www

 

以管理人身份运行wamp,否则在AUC会阻止服务运转

2.1 Composer安装

Laravel使用Composer来治本其借助,所以要先安装Composer。Composer安装方法可参照那篇文档:https://pkg.phpcomposer.com/\#how-to-install-composer【www.5929.com】Laraver环境搭建,Ali云安插LNMP环境。。
指出全局安装。要在控制夏洛特运用composer命令,必要将Composer及PHP的可执行文件(.exe/.bat)所在目录配置到系统环境变量Path中。

2.配置nginx服务器

sudo vim /etc/nginx/sites-available/default

修改完是这么的:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
    }
}

最后大家还索要配备一下Nginx,让其实施PHP文件。同样是在这么些文件里,在location下方添加上面的计划:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/laravel/public;
    index index.php index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

安插完未来重启Nginx,使地方的配备项生效。

sudo service nginx restart

 

2.部署Laravel 5.4

2.2 Laravel安装

开辟cmd
进入你要设置的目录下,输入下边的下令,把hellolaravel替换来你的连串名,就会自动安装laravel最新版本了。

composer create-project laravel/laravel hellolaravel

wamp的安装路径为是wamp/www/
如果把项目安装在www目录下,打开浏览器,输入localhost/laravel/hellolaravel
,展现laravel界面,表示安装成功了。

3.创建Laravel项目

在安排完nginx后,怎么获取Laravel的类型代码呢?有以下三种方法:

 

Laravel 5.4 版本的须求5.6.4之上版本的php环境

2.3 最简便的一键安装

http://laravelacademy.org/resources-download
开拓下边的网址,选用要下载的laravel版本,下载后把减掉包解压到wamp/www目录下,假诺把项目命名为laravel,打开浏览器,输入locolhost/laravel/public就能突显laravel页面了。下载时只顾差异laravel版本对php版本有须求。近年来新型版5.5渴求php版本大于等于7.00。5.4版本需要PHP版本大于5.6.4

(1).直接composer安装

直白通过composer来安装,你可以在CES上经过推行

cd ~
curl -sS https://getcomposer.org/installer | php

上边命令会安装composer
composer全局使用:

sudo mv composer.phar /usr/local/bin/composer

下一场在/var/www目录下直接执行

sudo composer create-project laravel/laravel laravel

因为我们此前创制/var/www目录,你可以直接cd
/var/www然后施行上面的授命。然后坐等安装到位。

  1. php_5.6.11_apache2.41

从git上下载Laravel 5.4本子的代码解压缩到wamp的www目录下

其他题材可参看下边多少个网址

Laravle:
http://laravelacademy.org/post/306.html
Composer:
http://docs.phpcomposer.com/00-intro.html

(2).直接上传代码

行使上面发号施令上传

scp -r laravel root@168.32.123.101:

下一场在阿里云的ECS中将laravel移动到/var/www目录下

sudo mv laravel/ /var/www

1.1. Httpd。Conf增添以下配置,添加php援救1

下载安装Composer-Setup.exe,因为Laravel 是急需composer情势进行设置的

(3).使用Git和Coding平台

创建laravel项目

个体相比喜欢使用git来上传代码,可以很有益于的换代代码和拓展回滚,一旦版本更新出Bug作者得以正视Git的兵不血刃版本管理能力来修复Bug。流程大致是如此:

本地代码---->Coding---->阿里云ECS

既然如此要拔取git,那么先在ECS上安装git:

sudo apt-get install git

设置到位就足以行使git了,然后在Coding上创建一个私房项目laravel,里面富含全体该Laravel项目所需代码。

即使本地代码都推送到Coding,然后在/var/www目录下直接行使

git clone Git地址

下载完后,将composer 安装到品种中

composer install --no-dev

1.2. 修改apache地点与系列地点以及权限1

设置完composer后,使用cmd命令切换来wamp下的www目录下进行安装命令:

4.配置Laravel项目

服务器拉取下来的代码。暗中同意没有.env文件,创立并配置一下

cp .env.example .env
vi .env

修改.env配置

APP_ENV=production
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_POST=3306
DB_DATABASE=aiyou_test
DB_USERNAME=root
DB_PASSWORD=root

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
DERIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525

下一场更新下项目key

php artisan key:generate

类型目录运维

1.3.
修改php。Ini。增加mbstring,openssl,mysql,rewriting的支持 extension_dir
= “C:\wamp\php_5.6.11_XiaZaiBa\ext”2

composer install

5.说到底的终极

不论是哪一种办法安装的代码,/var/www/都是属于root用户的,而访问网站的用户则须要正确的权限和走访限制,我们得以经过上面的一声令下来兑现。

sudo chown -R :www-data /var/www/laravel

依照Laravel的官方文档,/var/www/laravel/app/storage目录须求给网站的用户写权限

sudo chmod -R 775 /var/www/laravel/app/storage

那会儿说不定会报错 上面给出消除方法

502报错
启动php-fpm
sudo service php5.6-fpm restart
启动nginx
sudo service nginx restart

//给权限
sudo chown -R :www-data /var/www/aiyouTest
sudo chmod -R 775 /var/www/aiyouTest/storage

//清除缓存
php artisan cache:clear

//更新
root@iZ250lpr4xoZ:~# composer require fxp/composer-asset-plugin
root@iZ250lpr4xoZ:/var/www/aiyouTest# composer install
root@iZ250lpr4xoZ:/var/www/aiyouTest# composer update

composer 更新不了报错(PHP Warning: proc_open(): fork failed – Cannot
allocate memory ..)

df -h
dd if=/dev/zero of=/swapfile bs=1M count=1024
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo 'echo "/swapfile none swap defaults 0 0" >> /etc/fstab' | sudo sh

free -m
  1. 荒谬排除2

自行下载Laravel要求的连带组件

6.输出

在浏览器输入:

http://localhost

2.1.
laravel
5.1 unexpected
T_STRING Illuminate Contracts—Http Kernel lass2

访问 出现非凡

7.开启PHP扩展

extension=php_openssl.dll

extension=php_mbstring.dll

extension=php_pdo_mysql.dll

2.2. httpd.exe: Syntax error
on line 531 of C:/Apache24/conf/httpd.conf: Cannot load
c:/php56/php5apache2_4.dll into server:
\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa33

www.5929.com 1

2.3. started.httpd:Syntax
error on line 60 of D:/apache2/conf/httpd.conf:Cannot load
D:/apache2/modules/mod_actions.so into
server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xa3\xbf\xe9\xa1\xa33

 

2.4. Fatal error: Call to
undefined function
Illuminate\Foundation\Bootstrap\mb_internal_encoding4

 出现很是的原由是绝非生成注册KEY

2.5. apache documentroot指向htcdoc之外指示403不当的缓解措施5

亟待修改www目录下的.env.example文件改名为
.env,直接改名称会不可以保存,使用cmd命令举行改动名称:

2.6. 敞开框架调试方式7

rename  .env.example .env

  1. 配置Redis7

修改完执行生成key的命令:

3.1.1.
rediswindows官方下载|Redis for Windows下载
2.6.13 稳定版 – …8

php artisan key:generate

3.2. 数据库配置8

www.5929.com 2

  1. –fihi是、9

举行完会将base64:vU2QLhJoNqKCwq3UwYQVSge97dRag/e4Ff8/8dQhw7A= 添加到.env
中的APP_KEY中

 

访问网站 出现转手格外

1.  php_5.6.11_apache2.4

www.5929.com 3

1.1. www.5929.com,Httpd。Conf扩充以下配置,添加php援救

LoadModule
php5_module  “c:/wamp/php_5.6.11_XiaZaiBa/php5apache2_4.dll”

AddType
application/x-httpd-php .php

 

PHPIniDir
“C:\wamp\php_5.6.11_XiaZaiBa”

 

 

1.2. 修改apache地方与品类地方以及权限

Define
SRVROOT “/Apache24”

DocumentRoot
 “${SRVROOT}/htdocs/eform/public”

<Directory
“${SRVROOT}/htdocs/eform/public”>

    AllowOverride
all

   Require
all granted

</Directory>

还要修改Apache24\conf\extra\httpd-vhosts.conf

<VirtualHost _default_:80>
#DocumentRoot “${SRVROOT}/htdocs”
DocumentRoot “d:/www”
#ServerName www.example.com:80
</VirtualHost>
小编::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 Ake巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:14665一九八四9@qq.com

转发请评释来源: 

 

 

1.3. 修改php。Ini。增加mbstring,openssl,mysql,rewriting的支持 extension_dir = “C:\wamp\php_5.6.11_XiaZaiBa\ext”


PHP >= 5.5.9 – OpenSSL PHP 扩展 – PDO PHP 扩展 – Mbstring PHP 扩展 –
Tokenizer PHP 扩展

 

案由是绝非打开openssl功效

2. 漏洞格外多排除

找到php.ini

2.1. laravel 5.1 unexpected T_STRING Illuminate Contracts—Http Kernel lass

 

Parse
error
: syntax
error, unexpected T_STRING in C:\wamp\www\eform\public\index.php on line 50

 

$kernel
= $app->make(Illuminate\Contracts\Http\Kernel::class);//This is
line 50

the ::class is
only supported since PHP
5.5

Also
you must have mistakingly installed laravel 5.1+ because that’s the only
version to require php 5.5+

 

 

Laravel
5.1 requires PHP 5.5.9 

解决。下载  php_5.6.11_XiaZaiBa

里面必要php5apache2_4.dl,需要apache2.4

 

在运营Apache24/bin目录下运作httpd.exe
-t时,如若出现如下错误指示消息:

;extension=php_openssl.dll改为extension=php_openssl.dll

2.2. httpd.exe: Syntax error on line 531 of C:/Apache24/conf/httpd.conf: Cannot load c:/php56/php5apache2_4.dll into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

 

是由于php5apache2_4.dll动态链接库文件的本子与目前的php版本或Apache版本不合营。3肆个人6几人。

通过loadpe查看
php5apache2_4.dll信息,是32位的,下载32为的apathc2.4

 

重启服务

2.3. started.httpd:Syntax error on line 60 of D:/apache2/conf/httpd.conf:Cannot load D:/apache2/modules/mod_actions.so into server:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xa3\xbf\xe9\xa1\xa3

errors
reported here must be corrected before service can be

原因:

自小编也境遇了这一个题材,确实是出于配备ServerRoot不当导致的,仔细看了弹指间conf文件之中有壹个表明ServerRoot:
The top of the directory tree under which the
server‘s等等,应该是Apache文件夹只好放在磁盘根目录下,无法放在文件夹中,不然会促成非目录错误或楼主的难点。

 

Define SRVROOT “/Apache24”
ServerRoot “${SRVROOT}”
将${S卡宴VROOT}
改成你的apache安装目录
譬如 作者的安装目录是 在F盘中
所以改后是如此的
Define SRVROOT “/Apache24”
ServerRoot
“F:/Apache24”

 

在访问 

2.4. Fatal error: Call to undefined function Illuminate\Foundation\Bootstrap\mb_internal_encoding

10down vote

had the same problem, solution is to enable the mbstring php extension:https://laracasts.com/discuss/channels/general-discussion/call-to-undefined-function

In my case (AMPPS), I had to disable and reenable it + apache restart.

 

 

Configuration File (php.ini) Path

C:\Windows

 

PHPIniDir
“D:\wamp\bin\php\php5.4.3”

Configuration File (php.ini) Path

C:\Windows

Loaded Configuration File

C:\wamp\php_5.6.11_XiaZaiBa\php.ini

 

extension_dir =
“ext”   cantloasd ,use   “./ext” hesh cant ..

extension_dir =
“C:\wamp\php_5.6.11_XiaZaiBa\ext”   zash ok le ..

 

 首先用phpinfo测试页面看一下有没有装载mbstring, 

mbstring

Multibyte Support

enabled

Multibyte string engine

libmbfl

HTTP input encoding translation

disabled

libmbfl version

1.3.2

 

 

 

www.5929.com 4

2.5. apache documentroot指向htcdoc之外指示403荒谬的消除办法

 

新兴意识,原来又是Apache没配置
好,是apache的mod_authz_host模块在起决定效果。
1.假若不启用vhosts 
只需修改
httpd.conf
暗许Directory节如下,注意浅淡绿部分,表示目录/usr/local/apache/htdocs允许具备
主机访问

 

① 、访问控制

在Apache2.2本子中,访问控制是根据客户端的主机名、IP地址以及客户端请求中的别的特色,使用Order(排序),
Allow(允许), Deny(拒绝),Satisfy(满足)指令来兑现。

Apache2.4版本中,使用mod_authz_host这些新的模块,来完成访问控制,其余授权检查也以同样的形式来成功。旧的访问控制语句应当被新的授权认证机制所代替,纵然Apache已经提供了mod_access_compat这一新模块来合营旧语句。

此处有一些实例,用新办法取代旧语句落成平等的访问控制

:常见访问控制指令

复制代码代码如下:

Require all granted
#同意全体
Require all denied
#驳回全体
Require env
env-var [env-var] … #同意,匹配环境变量中随心所欲3个
Require method
http-method [http-method] … #允许,特定的HTTP方法
Require expr
expression #允许,表达式为true
Require user
userid [ userid ] … #同意,特定用户
Require group
group-name [group-name] … #同意,特定用户组
Require valid-user
# #允许,有功用户
Require ip
10 172.20 192.168.2 #允许 特定IP

 

在海外的网站上搜了好长期终于找到标题了。
还要修改Apache24\conf\extra\httpd-vhosts.conf

<VirtualHost _default_:80>
#DocumentRoot “${SRVROOT}/htdocs”
DocumentRoot “d:/www”
#ServerName www.example.com:80
</VirtualHost>

但愿对后来者有接济

 

 

2.6. 翻开框架调试形式

Config、app.php

 

    ‘debug’
=> true,

//env(‘APP_DEBUG’,
false),

ok未来得以访问Laravel ,表达大家Laravel 5.4运作环境已经配备完了。

3. 配置Redis

前方大家曾经关系Redis可以用作主数据库,所以Laravel中Redis的配备音信位于config/database.php 中:

‘redis’ =>
[  ‘cluster’ =>
false,
 ‘default’ =>
[    ‘host’ =>
‘127.0.0.1’,
   ‘port’ =>
6379,
   ‘database’ =>
0,
 ],

],

此外Redis若是是用作缓存工具,还亟需在 config/cache.php 配置 redis 选项:

‘redis’ =>
[

    ‘driver’ =>
‘redis’,

    ‘connection’ =>
‘default’,

],

此间的 connection 对应 config/database 中 redis 的暗许主机 default 配置。

成功上述配置之后大家就足以在应用代码中应用Redis举行多少存取了。

 

3.0.1. rediswindows官方下载|Redis for Windows下载 2.6.13 稳定版 – …

下载地址   大小: 1.13 MB   更新时间: 二〇一二-06-13

 

 

 redis是三个key-value存储系统.和Memcached类似,它协理存储的value类型相对越来越多,包罗string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)…

www.newasp.net/soft/67…  – 百度快照

 

3.1. 数据库配置

PHP数组,该配置文件提供了种种数据库可能用到的安顿。connections 里含有了数据库配置。修改’default’ => ‘mysql’,参数可以采纳需求运用的数据库。

1. ‘mysql’ =>
[

2.     ‘driver’    =>
‘mysql’,

3.     ‘host’      =>
env(‘DB_HOST’,
‘localhost’),

4.     ‘database’  =>
env(‘DB_DATABASE’,
‘forge’),

5.     ‘username’  =>
env(‘DB_USERNAME’,
‘forge’),

6.     ‘password’  =>
env(‘DB_PASSWORD’,
”),

7.     ‘charset’   =>
‘utf8’,

8.     ‘collation’ =>
‘utf8_unicode_ci’,

9.     ‘prefix’    =>
”,

10.     ‘strict’    =>
false,

11. ],

地点是暗许的MySQL配置项,’host’ => env(‘DB_HOST’,
‘localhost’),中env()方法就是读取.env文件中的配置项,它的第四个参数是专断认同值。当然也得以因此’password’ =>
‘password’,直接配置,但是一旦大家把品种存放到GitHub上时,这么做肯定是不安全的。可以由此读取.env布局文件中的配置,然后把.env配备文件设置为不交付来缓解,那也是经过.env布局文件来布置的1个便宜。

开辟项目根目录下的.gitignore文本,可以看来.env暗中认同是不会被交付的。

 

 

参考

[Laravel
5 教程学习笔记] 陆 、环境与布局 _ Specs’ Blog-就爱PHP.html

 

 

4. –fihi是、

 

 

Leave a Comment.