方法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
安装需要的包:
yum install glibc-headers
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;
}
- 相关文章
- 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进行
- laravel页面静态化的方法
- centos7.4 64位下swoole安装及配置
- navicate连接mycat报1184错误
- curl设置超时不起作用(CURLOPT_TIM
- 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
- 我的项目
- 【github】www.github.com/hurong241
- 【码云】gitee.com/hu_rong/projects
- 【docker hub】hub.docker.com/repositories/hurong241
- 【packagist】packagist.org/users/hurong241/packages
- 站点信息
- 建站时间:2011年
- 文章数:623篇
- 浏览数:1300144