centos7.4 64位下swoole安装及配置
首页->学习资料->其它->开发环境搭建 关键词: 发布时间:2018-06-14 15:00:45 浏览次数:7054

方法1:(自测安装失败)

pecl install swoole


方法2:【源码安装swoole】,自测安装成功


安装对异步redis的支持:

官方文档:https://wiki.swoole.com/wiki/page/p-redis.html

操作步骤:

wget https://github.com/redis/hiredis/archive/v0.13.3.tar.gz

tar -zxvf v0.13.3.tar.gz

cd hiredis-0.13.3/

[root@localhost hiredis-0.13.3]make -j

[root@localhost hiredis-0.13.3]sudo make install

[root@localhost hiredis-0.13.3]sudo ldconfig


安装需要的包:

  1. yum install glibc-headers  

  2. yum install gcc-c++   

安装swoole:

www.swoole.com首页找到下载:

https://gitee.com/swoole/swoole/tree/v2.1.2

yum install git

git clone https://gitee.com/swoole/swoole.git

或直接下载zip包然后unzip

cd进入解压后的目录

看看有没有configure这个文件,如果没有,在解压后的swoole目录中执行:

/php安装目录/bin/phpize

执行完成后就可以看到生成的configure文件了

./configure --help可以看到安装时可以指定的相关设置项

如:

--with-php-config=/usr/local/bin/php-config(指定php配置文件路径)

--enable-async-redis(增加对异步redis的支持)

--enable-coroutine(开启协程)

[root@localhost swoole]# ./configure --with-php-config=/usr/local/bin/php-config --enable-openssl --enable-async-redis --enable-mysqlnd

[root@localhost swoole]#make clean(如果之前make过,执行一下次行命令)

[root@localhost swoole]#make

[root@localhost swoole]#make install后,可以看到屏幕打印出生成的扩展的路径


可能遇到的问题:

php-m 发现swoole消失或者是通过php --ri swoole没有显示async redis client

或报类似错误:


PHP Warning:  PHP Startup: Unable to load dynamic library 'swoole' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/swoole (/usr/local/lib/php/extensions/no-debug-non-zts-20170718/swoole: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20170718/swoole.so (libhiredis.so.0.13: cannot open shared object file: No such file or directory)) in Unknown on line 0


解决方法:

vi ~/.bash_profile

在最后一行添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

source ~/.bash_profile

重新编译安装swoole即可


检查安装是否成功:

php -m 查看swoole扩展是否开启

php --ri swoole查看async redis client => enabled是否存在


【让php7支持swoole】

在php.ini中添加

extension=swoole

extension=sockets(如果报错的话)

php -m 查看是否有swoole扩展

到之前下载的swoole源码中的examples/server下执行

php echo.php

如果不报错就安装成功了

netstat -ntlp看看


【tcp与udp的区别】

https://blog.csdn.net/li_ning_/article/details/52117463


【查看进程及状态】

ps aft | grep tcp.php(某个server文件的名称)


    D    不可中断     Uninterruptible sleep (usually IO)

    R    正在运行,或在队列中的进程

    S    处于休眠状态

    T    停止或被追踪

    Z    僵尸进程

    W    进入内存交换(从内核2.6开始无效)

    X    死掉的进程


    <    高优先级

    N    低优先级

    L    有些页被锁进内存

    s    包含子进程

    +    位于后台的进程组

    l    多线程,克隆线程


【nginx转发】

将root指向的目录中不存在的请求转发

location / {

root /home/....

index index.html

if 这里有个空格(!-e $request_filename){

  #以下是一台机器时的配置方法

  proxy_pass http://ip:端口;

  #以下是多台机器时的配置方法

  proxy_pass http://swoole_hurong

}

}


upstream swoole_hurong这个名称随便起 {

server ip:端口 weight=2;#等号两边不能有空格

server ip:端口 weight=1;

}

【nginx负载均衡】

第一台承担2/3

第二台承担1/3

upstream swoole_hurong这个名称随便起 {

server ip:端口 weight=2;#等号两边不能有空格

server ip:端口 weight=1;

}


赞:(0)
踩:(0)
相关文章
windows下使用MongoDB Compass Com
Oracle VM VirtualBox中设置共享文
linux安装openvpn并保存密码
deepin v20深度系统安装docker及do
域名在阿里云服务器换成腾讯云后备
windows下安装VirtualBox增强工具
国内访问github慢或打不开的解决方
linux下安装phpstorm2018及激活码
vmware中虚拟机上不了网及共享文件
linux版phpstorm2020.3.3及激活码
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
centos7.4 64位下swoole安装及配置
laravel页面静态化的方法
navicate连接mycat报1184错误
单点登录sso原理及php实现方式及de
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:607篇
浏览数:940840
粤ICP备18028092号-1  微信:hurong241