vagrant的学习 之 Yii2


本文根据慕课网的视频教程练习,感谢慕课网!

慕课视频学习地址:https://www.imooc.com/video/14218

慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va

Yii2的中文官网地址:https://www.yiichina.com/


第一步,需要安装composer:

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

返回失败:

All settings correct for using Composer
Downloading...
Failed to decode zlib stream

再次执行该命令,返回成功:

All settings correct for using Composer
Downloading... Composer (version 1.7.) successfully installed to: /home/www/yii2/composer.phar
Use it: php composer.phar

然后把composer修改为全局变量,执行:

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

第二步,安装Yii:

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

报错:

Cannot create cache directory /home/vagrant/.composer/cache/repo/https---repo.packagist.org/, 
or directory is not writable. Proceeding without cache

给目录增加权限:

sudo chmod -R  /home/vagrant/.composer/cache/

再次执行,还是报错:

The "https://repo.packagist.org/packages.json" file could not be downloaded: SSL: crypto enabling timeout
Failed to enable crypto
failed to open stream: operation failed
https://repo.packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date [Composer\Downloader\TransportException]
Content-Length mismatch, received bytes out of the expected

超时了,搜索后尝试修改composer的国内镜像下载地址,实现加速试一试:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

结果显示无权限:

[ErrorException]
touch(): Unable to create file /home/vagrant/.composer/config.json because Permission denied

给文件增加权限:

sudo chmod -R  /home/vagrant/.composer/

然后再次执行修改composer的下载地址:

  composer config -g repo.packagist composer https://packagist.phpcomposer.com

这次没有报错,查看配置文件已经修改:

cat /home/vagrant/.composer/config.json

显示:

{
"config": {},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}

然后再次尝试下载yii框架:

composer create-project --prefer-dist yiisoft/yii2-app-basic basic

下载成功,发现目录下多了个basic目录

重命名项目名字:

mv basic yii2

第三步,配置nginx:

//进入nginx的配置目录
cd /etc/nginx/conf.d/
//常见yii的配置文件
sudo touch yii2.conf
//编辑配置文件
sudo vim yii2.conf
//文件内容
server{
server_name study.yii2.com;
root /home/www/yii2/web;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
} location ~ \.php${
include fastcgi_params;
fastcgi_pass 127.0.0.1:;
try_files $uri = ; }
}

修改host文件:

sudo vim  /etc/hosts

增加:

IP地址   study.yii2.com

然后重启nginx

sudo /etc/init.d/nginx restart

最后配置本地主机的host文件:

也增加:

IP地址  study.yii2.com

就可以在本地访问 study.yii2.com 了。


第四步,配置apache:

进入apache的配置目录:

cd /etc/apache2/sites-enabled

创建配置文件:

sudo touch yii2.conf

编辑配置文件:

sudo vim yii2.conf
<VirtualHost *:>
ServerName study.yii2.com
DocumentRoot /home/www/yii2/web/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

重启apache:

sudo /etc/init.d/apache2 restart

ok,配置完成。


总结:

  1、虽然看视频或者文档感觉简单,很快就看完了,但是自己并没有记住,还是需要多加练习才行;

  2、实际操作起来更会有很多意外的错误发生,这时候就需要耐心,分析解决问题,有的错误可能很快找到解决方法,但是有些却耗费时间也没有搜到答案,只能另寻途径或暂时跳过。

  


欢迎大家指点。

vagrant的学习 之 Yii2的更多相关文章

  1. vagrant的学习之Git学习

    vagrant的学习之Git学习 参考学习网址: http://www.runoob.com/git/git-install-setup.html. http://www.bootcss.com/p/ ...

  2. vagrant的学习 之 打包分发

    vagrant的学习 之 打包分发 一.打包Box: (1)关闭虚拟机. vagrant halt (2)打包: vagrant package 这样打包出来的文件叫package.box. 指定生成 ...

  3. vagrant的学习 之 优化

    vagrant的学习 之 优化 一.修改虚拟机名字: 默认的虚拟机的名字很长:study_default_1535505004652_97747. (1)打开Vagrantfile文件:(2)找到: ...

  4. vagrant的学习 之 Laravel

    vagrant的学习 之 Laravel 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址:htt ...

  5. vagrant的学习 之 ThinkPHP3.2

    vagrant的学习 之 ThinkPHP3.2 (1)在web目录下新建tp32目录: cd /home/www/ mkdir tp32 (2)下载框架 我从ThinkPHP官网下载了ThinkPH ...

  6. vagrant的学习 之 ThinkPHP5.1

    vagrant的学习 之 ThinkPHP5.1 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址 ...

  7. vagrant的学习 之 LNMP和LAMP

    vagrant的学习 之 LNMP和LAMP 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va ...

  8. vagrant的学习 之 基础学习

    vagrant的学习 之 基础学习 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/vagrant ...

  9. vagrant简单学习使用

    1.安装vagrant 旧版本的vagrant可以在http://downloads.vagrantup.com/下载,支持的系统平台有mac,debian/ubuntu, centos,window ...

随机推荐

  1. P3372 【模板】线段树 1 区间查询与区间修改

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.求出某区间每一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个 ...

  2. 关于<meta NAME="keywords" CONTENT="">

    昨天终于以实习身份入职一家小创业公司,今天让我多看看别人的网页怎么写的,发现了一个以前都没关注过的东西. <meta name="keywords" content=&quo ...

  3. 【C++】cerr,cout,clog

    http://stackoverflow.com/questions/16772842/what-is-the-difference-between-cout-cerr-clog-of-iostrea ...

  4. Idea maven项目不能新建package和class的解决方法

    如下图,用IDEA新建的maven项目不能新建package,class等 原因是:这里的java文件夹是普通文件夹,要设置为Sources Root.(如下图) 就可以了(见下图)

  5. UGUI世界坐标转换为UI本地坐标

    以下是实现hud跟随3D物体的脚本,只是测试用,不是开发中的代码,脚本挂在任意游戏物体上 demo下载 using UnityEngine; public class SceneFollowUI : ...

  6. MySQL-07 日志管理

    学习目标 MySQL日志 二进制日志 错误日志 查询通用日志 慢查询日志 MySQL日志 MySQL日志分为四类,说明如下: 错误日志:记录MySQL服务的启动.运行或者停止时出现的问题. 查询日志: ...

  7. Java垃圾回收之新生代垃圾收集器

    问题:什么是Stop-the-World? 1.JVM由于要执行GC而停止了应用程序的执行 2.任何一种GC算法中都会发生 3.多数GC优化通过减少Stop-the-world发生的时间来提高程序的性 ...

  8. ABAQUS学习记录1——用户子程序综述

    概述 ABAQUS提供了相当丰富的单元类型,材料属性等数据库可供用户选择,但是工程问题是千变万化的,为了满足用户的特殊工程要求,ABAQUS为用户提供了强大而又灵活的用户子程序接口(USER SUBR ...

  9. Linux的硬件时间、校正Linux系统时间及系统时间调用流程

    第一部分: 一)概述: 事实上在Linux中有两个时钟系统,分别是系统时间和硬件时间 UTC是协调世界时(Universal Time Coordinated)英文缩写,它比北京时间早8个小时.   ...

  10. 条款36:绝不重新定义继承而来的non-virtual函数(Never redefine an inherited non-virtual function)

    NOTE: 1.绝对不要重新定义继承而来的non-virtual函数.