###workman (linux)
- 虚拟机配置php和共享文件夹
1)下载vitrualBox
2) 安装虚拟机并配置连接外网
3) centos 配置php及其workman扩展安装
#在线安装php([参考地址](http://www.cnblogs.com/liulun/p/3535346.html)
yum install php php-devel
//workman需要扩展CLI 和php.ini的模式不同 查看安装的扩展
php -m
#需要的必须php扩展
#- pcntl
#- posix
#- libevent(非必须,当业务需要支撑上万并发连接时,推荐安装libevent,能够支持巨大的并发连接)
#- php>=5.3.3
1.命令行运行(此步骤包含了安装php-cli主程序以及pcntl、posix、libevent扩展及github程序)
yum install php-cli php-process git gcc php-devel php-pear libevent-devel
2.安装libevent失败 error: Cannot find libevent headers
a) 先确认是否缺少g++,安装g++ 重启终端
b)安装最新re2c(PHP的词法解析器,可忽略)
c)安装libevent-2.0.2-stable
wget http://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
tar zxvf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable/
./configure --prefix=/usr/local/libevent-2.0.20-stable/
make
make install
cd ../
d)
$ cd libevent-0.1.0
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/bin/php-config --with-libevent=/usr/local/libevent-2.0.20-stable
$ make && make install
![libevent](http://i4.buimg.com/06adcd4721d0f77a.png)
e)
//创建libevent.ini
mkdir /etc/php.d/libevent.ini
php -m
//编译配置完成
![libevent.ini](http://i2.buimg.com/f033a1de10c886d2.png)
f)安装检测
curl -Ss http://www.workerman.net/check.php | php
![http://i2.buimg.com/921a3ff6d86ce385.png](http://i2.buimg.com/921a3ff6d86ce385.png)
![http://i2.buimg.com/3af7fef361b29e0c.png](http://i2.buimg.com/3af7fef361b29e0c.png)
4)安装安装增强程序,配置虚拟机共享文件夹
#a.先安装好gcc
yum -y install gcc
#b.再安装kernel-devel和kernel-headers
yum search //搜索对应系统内核的版本 查看自己系统版本 uname -v
yum install kernel-devel kernel-headers
#c.在安装完成后,做一个连接
mkdir /usr/src/linux
ln -s /usr/src/kernels/2.6.18-194.26.1.el5-i686 /usr/src/linux
#d.挂载iso
mkdir /cdrom
mount /mnt/cdrome /cdrom
cd /cdrom
sh VBoxLinuxAdditions.run
#可能出现的错误
#Building the main Guest Additions module [失败]
#说明没有安装成功
#e.重启系统
shutdown -r now
#f.检测是否安装成功
lsmod|grep vboxsf
/**
vboxsf 38088 0
vboxguest 152104 7 vboxsf
如此显示说明载入了内核模块 vboxsf
**/
#g.设置共享文件夹
重启完成在VirtualBox的菜单点击"设备(Devices)" -> 共享文件夹(Shared Folders)菜单,添加一个共享文件夹,选项固定和临时是指该文件夹是否是持久的。尽量使用英文名称(share)
#h.挂载共享文件夹
重新进入虚拟CentOs5.5,在命令行终端下输入:
mkdir /mnt/share
##格式 mount -t vboxsf (宿主机文件夹) (虚拟机文件夹)
mount -t vboxsf share /mnt/share
a.如果提示 /sbin/mount.vboxsf: mounting failed with the error: No such device
可能是没有载入内核模块 vboxfs ,先查看下:
#lsmod | grep vboxsf
如果没有结果返回,说明 vboxsf没有载入,执行
#modprobe vboxsf
这种情况我没遇到,根据自己实际情况
b./sbin/mount.vboxsf: mounting failed with the error: Protocol error
重新启动运行命令:
mount -t vboxsf share /mnt/share
报错:
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
查看‘设备’->‘共享文件夹’是否为空啦,再重新手动添加即可
#i.正常的话应该可以访问共享文件夹
cd /mnt/share
ls -al
#将宿主机目录作为workman git目录即可
#j.此时的共享文件夹需要每次开机启动后,手动设置,自动挂载需要设置:
可以在/etc/fstab中添加一项
www /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
- 实际使用中的注意事项
> 1.虚拟机访问 关闭防火墙
service iptables status
service iptables stop
![iptables](http://i2.buimg.com/c4505ecc61699022.png)
> 2.recvDate emputy
数据库配置有误
![recvData](http://i2.buimg.com/cf59164ffbb1252a.png)
> 3.启动方式
php start.php start 启动,终端不能运行其他命令,也不能关闭,但是运行中的错误会显示
php start.php start -d 启动,维护进程,终端可以正常使用
-安装mysql
1.yum list mysql-server
2.yum install mysql-server.x86_64
3.启动
service mysqld start
4.设置Mysql开机启动
chkconfig mysqld on
5.开启3306端口并保存
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
6.设置密码
use mysql;
update user set password=password('密码') where user='root';
flush privileges;
7.设置Mysql远程访问
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
-安装php-mysql (PDO mysql php模块等等)
yum -y install php-mysql
- workerman总结及其要点 2017-05-05