前言
版本
安装环境
源码安装swoole扩展
phpstorm设置代码自动上传
这里环境安装选择宝塔安装。那么为什么要选择宝塔安装?是因为宝塔安装方便、快捷。我们只关注swoole的学习,不关心环境的安装,关注点不同。
宝塔最新版本,7.0免费版,linux版。
Centos安装脚本:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
ssh连接服务器,root运行该脚本,安装需要花一点时间(7分钟左右)。
安装成功之后,会给地址和用户密码,登录宝塔面板。
安装lnmp开发环境
登录面板进去之后,我选择的是一键快捷安装lnmp,下面是安装的软件版本:
nginx:1.16.0
mysql:5.7
php:7.3
一键安装,需要花一点时间。
宝塔设置
一键安装成功之后,需要进行一些配置设置。进入宝塔面板设置,修改设置别名、面板端口、安全入口、默认建站目录、服务器IP、面板用户、面板密码等。
然后,点击网站,添加站点。
安全设置
添加站点成功之后,我们需要开放一些端口,在安全里面进行添加需要开放的端口。
同时,服务器也要开放相应的端口,可以通过添加安全组。(当然也可以关闭防火墙,开放所有的端口)
MySQL远程访问
ssh连接服务器后,登录mysql:
mysql -uroot -p
登录成功之后,查看用户所拥有的权限:
use mysql;
select User,authentication_string,Host from user;
这里可以看出Host默认都是localhost。所以要添加权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '0000';
这里的0000为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址,然后执行:
flush privileges;
这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
执行完这两步,再次查询用户表命令:
select User,authentication_string,Host from user;
这个时候就可以远程访问了,我用的是navicat进行远程连接数据库的(服务器的3306端口要开放)。
安装成功
在网页上,输入服务器的ip,成功访问。网页上如下显示,表示安装成功。
下载
打开swoole.com官网,点击源代码开源中国,下载源代码,点击克隆/下载,复制下载地址,ssh连接服务器,运行:
git clone https://gitee.com/swoole/swoole.git
下载最新的源码。
安装依赖
宝塔安装的环境,依赖都已经安装了,这里就不需要再安装了。
安装
切换到源码目录下,发现没有configure执行文件,通过phpize生成configure,查找phpize:
find / -name phpize
运行phpize
/www/server/php/73/bin/phpize
发现configure已经生成,运行configure
./configure
发现需要配置php-config,查找php-config
find / -name php-config
编译
./configure --with-php-config=/www/server/php/73/bin/php-config
构建安装
make && make install
修改php.ini
查找
find / -name php.ini
vi /www/server/php/73/etc/php.ini
在extension处添加
extension=swoole.so
查看是否安装成功
php -m | grep swoole
防火墙设置
#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#开启防火墙
service firewalld start
#若遇到无法开启
#先用:
systemctl unmask firewalld.service
#然后:
systemctl start firewalld.service
#开放端口
#开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
#查询端口号80是否开启:
firewall-cmd --query-port=80/tcp
#重启防火墙:
firewall-cmd --reload
#查询有哪些端口是开启的:
firewall-cmd --list-port
在本地新建swoole文件夹,作为项目名称,用phpstorm打开该项目。点击选择Tools工具下Deployment下的Configuration...
添加新服务,name随便取,type选择SFTP
填写服务器的ip,账号密码等
本地文件位置
配置好,点击ok,保存配置。配置好之后,设置自动上传。
自动上传设置好之后,打开服务器窗口
这样就设置好了。