网站上很多教程,要不完整,要么版本不对或者版本过老,走过很多弯路才安装好,为了让各位童鞋少走弯路,特此写下自己的安装和配置流程。


准备:
Vmware 14
centos 7镜像:阿里云镜像
Swoole:https://github.com/swoole/swoole-src/archive/v4.3.5.tar.gz

  • 注意:注意防火墙的开启和入站端口的开放


安装centos7



环境:

  • centos 7.2
  • php 7.2.5



基础命令:

#查看phpize和php-config的目录
[root@localhost swoole-src-4.3.5]# whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
[root@localhost swoole-src-4.3.5]# whereis php-config
php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz


php安装目录一般在:/usr/local/php
php.ini配置文件路径:/usr/local/php/etc/php.ini
swoole 安装目录放在/usr/local/src


安装php截图:

Centos7安装php + Swoole_centos

Centos7安装php + Swoole_php_02

Centos7安装php + Swoole_php_03


安装Swoole前的准备工作


yum install autoconf   gcc  gcc-c++ #安装编译需要的工具
firewall-cmd --zone=public --add-port=80/tcp --permanent #让防火墙支持80端口


tar -zxvf 需要解压的文件名 #是解压命令


注意:有些安装命令报错可能是没有权限,请加入sudo
mv是修改文件名或者移动文件 如果后面只有文件名那就是修改文件名,如果后面还带参数path就是移动(剪切)


如果你是使用wget下载,如果提示没有wget可以使用yum install wget,反正缺少啥就安装啥


gcc,pcre,autoconf,make #安装前要确保已经安装了,gcc -v 查看版本信息 不存在就是没安装


pcre安装方法 yum install pcre-devel php-pear


#安装Apache
yum install httpd


#官网上还有更高级的自定义安装命令
./configure --prefix=/usr/local/swoole #--prefix
就相当于于Windows安装软件指定安装目录,后面的path就是安装到系统到系统的路径



下面进入正式安装Swoole的:


还有最直接简单粗暴的方法是:pecl install swoole

如果大家不习惯使用vi的话,可以安装下nano #安装命令:yum install nano

我们这里说的是编译安装的方式:


1.安装php+Apache

#查看 centos 版本(我的是centos72)
cat /etc/centos-release


#删除之前的 php 版本
yum remove php* php-common


#rpm安装php7.1相应的yum源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm


rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm


#用下面命令查看yum所拥有版本的各个插件
yum list php*


#安装php7.2,也可以日后看需要什么就可以单独安装插件。
yum install php72w php72w-opoache php72w-cli php72w-devel


#安装需要等待一会


#到这里php就按装完成了。
#查看php版本
php -v


用 whereis phpize查看路径,其中 php-config 和 phpize 所在的目录是相同的


#wss需要安装openssl支持而ws不需要


yum install -y openssl #安装ssl
#开始
$ sudo /usr/bin/phpize
$ sudo ./configure --enable-openssl --with-php-config=/usr/bin/php-config #这个注意php-config的目录是你php真实安装路径
#如果不需要wss 可以删除 --enable-openssl
#宝塔面板可以点击php查看安装路径 ,我的是在/www/server/php/72/bin/php-config
#如果是集成环境,需要使用名 find / -name "php-config" 查询路径。




$ sudo make && sudo make install

2.下面开始安装swoole:

#我们使用这种方法安装,就不用下载源码了,直接下载压缩包
$ sudo wget https://github.com/swoole/swoole-src/archive/v4.3.5.tar.gz
$ ls #下载的到的压缩包
$ sudo tar zxvf v4.3.5.tar.gz


tar 四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz指定被处理的文件是 xxx.tar.gz


$ cd swoole-src-4.3.5


#用 whereis phpize查看路径,其中 php-config 和 phpize 所在的目录是相同的


#编译准备
phpize
./configure #检查安装环境是否正确
#安装
make && make install #编译和编译安装(自动执行)


注释:如果有报错的可能需要
yum install php-pear


#修改php.ini
vim /etc/php.ini


#添加
extension=swoole.so


#安装完毕。
#查看是否成功
#php -m或者
$ php -m |grep swoole
swoole

SWOOLE安装图片:

Centos7安装php + Swoole_apache_04

Centos7安装php + Swoole_centos_05

Centos7安装php + Swoole_apache_06

Centos7安装php + Swoole_centos_07

Centos7安装php + Swoole_apache_08

Mysql安装图片:

Centos7安装php + Swoole_apache_09


#查看已经开放的端口号和协议
firewall-cmd --list-ports


#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent


--zone是作用域,设置为public。
--add-port是添加开放的端口与协议,设置为80/tcp。
--permanent是设置为永久生效,否则重启后就无效了。


#设置后需要重启防火墙
firewall-cmd --reload


#如果要关闭防火墙,并且开机不在自动启动防火墙,需要输入下面的两个命令
systemctl stop firewalld.service #停止


systemctl enable firewalld.service #开机时启动


到这就结束了。

我的系统是centos7.4,有可能环境不同会导致你的失败,不过一般报错都是因为安装所需要的工具缺少,如果你安装不成功时,可以百度下啥原因


###附录一

​一、service方式

查看防火墙状态:

[root@centos6 ~]# service iptables status


iptables:未运行防火墙。


开启防火墙:


[root@centos6 ~]# service iptables start


关闭防火墙:


[root@centos6 ~]# service iptables stop






二、iptables方式


先进入init.d目录,命令如下:


[root@centos6 ~]# cd /etc/init.d/


[root@centos6 init.d]#


然后


查看防火墙状态:


[root@centos6 init.d]# /etc/init.d/iptables status


暂时关闭防火墙:


[root@centos6 init.d]# /etc/init.d/iptables stop


重启iptables:


[root@centos6 init.d]# /etc/init.d/iptables restart
参考:
http://www.360kuai.com/pc/98cfedf5ad1a137bc?cota=4&tj_url=xz&sign=360_57c3bbd1&refer_scene=so_1


#附录2 Apache的操作

Linux httpd命令是Apache HTTP服务器程序。
httpd为Apache HTTP服务器程序。直接执行程序可启动服务器的服务。
apahce启动命令:
推荐/usr/local/apache2/bin/apachectl start apaceh启动
apache停止命令
/usr/local/apache2/bin/apachectl
stop 停止
apache重新启动命令:
/usr/local/apache2/bin/apachectl restart 重启
要在重启 Apache 服务器时不中断当前的连接,则应运行:
/usr/local/sbin/apachectl graceful
如果apache安装成为linux的服务的话,可以用以下命令操作:
service httpd start 启动
service httpd restart 重新启动
service httpd stop 停止服务