猿创|有赞的zan framework安装与使用[2]
下载并安装comoser
curl -sS https://getcomposer.org/installer | php
结果各种超时
不能忍,打开迅雷下载installer:https://getcomposer.org/installer,
还是超时+报错
不能忍了,直接下载composer.phar文件(备注:phar是php项目文件压缩包格式)
composer下载地址:https://getcomposer.org/download/,选择最下面最新版

迅雷下载完成后,执行下面的代码,看看是否正常
php composer.phar
接着进行下面的操作
mv composer.phar /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
接下来你可以直接使用composer了
composer -V
我们发现竟然是开发版,不太好吧,还是下载最新稳定版吧。
嗯,就是1.4.2,继续使用迅雷下载,爽歪歪。

说实话,下载一共花了3秒。
接着通过xshell的直接拖放过去。
rz #命令行下输入此命令,选择文件即可,此命令需要安装lrzsz软件包
接下来我们先删掉之前的composer并安装新的composer
rm -rf /usr/local/bin/composermv
composer.phar /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
安装成功了。

加速composer依赖包的下载
参考链接:https://pkg.phpcomposer.com/ (国内composer下载加速镜像链接)
composer config -g repo.packagist composer https://packagist.phpcomposer.com
安装zan-installer脚手架工具
composer global require youzan/zan-installer

10秒内就安装好了。
接下来第一种用zan-installer脚手架安装zan框架方法是命令行直接找到zan文件去执行然后.zan

第二种方法是更改环境变量
我们在终端下直接输入zan命令,
发现这个命令并没有集成进去
其实我们只需要把composer的工具安装目录(通常在 ~/.config/composer/vendor/bin)放到PATH环境变量里面就好了,那行我们修改~/.bash_profile
复制当前终端并重新打开一个ssh,我们发现PATH环境变量生效了。
接下来我们就使用zan这个工具时发现zan这个脚手架工具没有执行权限
那我们就分配给它执行权限,为了省事,直接给composer下面的vendor递归加上可执行权限
chmod -R a+x ~/.config/composer/vendor
继续执行zan命令,又发现新问题

我嚓,这个框架竟然需要这个disable_functions里面的函数shell_exec
好,哥满足你,修改php.ini文件并把shell_exec去掉(危险提示:千万不要再生产环境中使用,否则后果自负)
去掉shell_exec之后继续使用zan命令发现好了,但是出现了警示。

好吧,我把exec这个被禁用的函数也开启
总算好了,连warning也没有了。

到最后composer提示笔者,请不要使用root账户玩composer,听你的,添加一个用户kemin,并赋予sudo权限。

但是请一定要记得,重新执行下面的操作
composer config -g repo.packagist composer https://packagist.phpcomposer.com
composer global require youzan/zan-installer
chmod -R a+x ~/.config/composer/vendor
vim ~/.bash_profile #当然你也可以把这个加入到/etc/profile里面,但是不太建议哈
接下来可能还会初选disable_functions的问题,你只需要把它从disable_functions里面去掉就好了。
我们创建一个web可访问的目录
mkdir -p /srv/www
输入zan命令的时候,我们进入了交互模式,输入上面创建的/srv/www即可,由于是学习使用阶段,其它配置一路回车默认即可。

安装tree工具查看zan工具生成的目录结构
yum install -y tree
tree -L 2 /srv/www/zanphp-demo
如下所示

运行你的第一个zan应用
阅读文档:https://github.com/youzan/zanhttp
我们修改php.ini并加入2项配置:
# sudo vim /usr/local/php/etc/php.ini
zan.RUN_MODE = test
zan.DEBUG = true
接着在项目目录下面执行命令
php bin/httpd
访问127.0.0.1:8030
wget 127.0.0.1:8030

配置nginx并开启外网访问
参考官方给出的nginx配置:https://gist.github.com/agalwood/df9c7316d7e41a363c6fcc8e7907e54c
创建日志文件目录
sudo mkdir -p /data/logs/nginx
在aliyun上域名云解析那里加一条A解析记录。
把文件名为zan.shukaiming.com.conf和内容如下的文件放到nginx的vhost目录(在本地编辑好使用sudo rz放过去即可)
server {
listen 80;
server_name zan.shukaiming.com;
charset utf-8;
access_log /data/logs/nginx/zanphp.access.log main;
error_log /data/logs/nginx/zanphp.error.log;
root /srv/www/zanphp-demo;
index index.html index.htm index.php;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location = /404.html {
root html;
}
location / {
index index.html index.htm index.php;
proxy_set_header Host $host:$server_port;
proxy_pass http://127.0.0.1:8030;
}
}
笔者放到的目录是/usr/local/nginx/conf/vhost
sudo lnmp nginx reload
结果报错了
简单,原来是main这种标签命名的日志格式没有定义,我们去掉它,关于log_format同学们可以去nginx官网看看,那里讲得比较详细,这里就不展开了。
我们再次尝试,done
我们来看看访问效果。

猿创|有赞的zan framework安装与使用[2]的更多相关文章
- 猿创|有赞的zan framework安装与使用
1.准备工作 1.1 一台腾讯云服务器2核CPU+2G内存的Linux CentOS 7.2(谢谢小杨同学@erchoc) 1.2 预装lnmp一键安装包环境,官方地址:lnmp一键安装包 (如不会使 ...
- Robot Framework安装及配置
Robot Framework安装及配置 需要按照的软件有Python.WxPython.robot framework.robotframework-ride.robotframework-sele ...
- robot framework 安装
一.安装 Python 2.7 pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.13已包含) Robot Framework (此工具本身) wxPyt ...
- Robot Framework 安装及环境配置
Robot Framework 安装及环境配置 Robot Framework 介绍 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以 ...
- (一)Robot Framework安装
准备工作: Python 2.7 (目前不能良好支持python3) pip 和 setuptools (Python 的套件管理程式,最新版的Python 2.7.16已包含) Robot Fram ...
- Robot Framework安装部署详细教程
(转自“义甬君”) Robot Framework安装准备 说实话,在我玩了这么多自动化工具后,感觉Robot Framework所需的环境和安装过程是相对比较繁琐和复杂的.要真正搭建一套可以使用的R ...
- robot framework 安装配置
robot framework 是一款专门用作自动化测试的框架,提供了丰富的内置库,与第三方库,也支持用户自己编写的库,robot framework +library 可以 用来做ui的自动化测试, ...
- Play Framework安装和配置
安装环境: jdk 1.7; play 1.3.1; eclipse 安装指南:http://play-framework.herokuapp.com/zh/install 安装Play Framew ...
- PHP Framework安装
Framework 1> 初始化 前提:服务器上已经装有 Apache/Nginx 和 MySQL 进入 hush-framework/hush-app/bin 目录(Linux 下需执行 ch ...
随机推荐
- linux系统编程之(一) 信号量
信号量 一.什么是信号量 信号量的使用主要是用来保护共享资源,使得资源在一个时刻只有一个进程(线程)所拥有. 信号量的值为正的时候,说明它空闲.所测试的线程可以锁定而使用它.若为0,说明 它被占用,测 ...
- poj3190
一.题意:有n头牛,每头牛需要占用一个时间段的时间来挤奶,且必须有机器.问最少需要多少个机器 二.思路:区间贪心.把尽量多的牛放在一个棚子里,这样就可以使得用到的棚子数最少.只要任意两头牛的挤奶时间不 ...
- PIE SDK打开网络地图数据
1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...
- c语言3种方式实现参数传递
学习计算机已经两年了,参数传递已经成功恶心了我两年,今天在写二叉树遍历的时候成功对此忍无可忍.本文是在阅读https://blog.csdn.net/u013097971/article/detail ...
- pandas.read_csv()函数读取文件时,关于“header=None”影响读取列数区间的右闭合总结
对于一个没有字段名标题的数据,如data.csv 1.获取数据内容.pandas.read_csv("data.csv")默认情况下,会把数据内容的第一行默认为字段名标题. imp ...
- VUE中toast的使用与开发
在这篇文章中介绍了toast是什么,这篇文章主要介绍toast的开发与使用. 开发 Vuejs很流行,并且官方也给出了路由插件vue-router.数据管理插件vuex,但是我们仅仅停留在了使用的阶段 ...
- jar包、jdk版本、兼容性
对jar包.jdk版本,以及不同jdk版本的jar包的兼容性有一些疑问,搜集一些资料于此 查看jar包的jdk版本 查看.jar包中的META-INF\MANIFEST.MF Build-Jdk: 1 ...
- ElasticSearch:集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间关系
[Cluster]集群,一个ES集群由一个或多个节点(Node)组成,每个集群都有一个cluster name作为标识----------------------------------------- ...
- Win10新建分区
今天忽然觉得将系统分为四个盘,有点无法将分类分开,所以增加了几个分区: 1.windows+X键在弹出的对话框中选择磁盘管理,进入如下界面: 2.如果你想从某个盘分出一些内存建立一个新的分区,就在这个 ...
- spark scala 例子
object ScalaApp { def main(args: Array[String]): Unit = { var conf = new SparkConf() conf.setMaster( ...