必须安装的
- 安装PHP并且版本至少
>7.0
,推荐7.1+
- 安装php包管理器
composer
- 安装redis的异步客户端
hiredis
- 连接迭代器依赖
pcre
库 - 安装php扩展swoole, 并且版本至少
>=2.1
- swoole开启协程和异步redis
- 其他需要安装和启用的php扩展有:
PDO
>>>安装centos7虚拟机
首先下载vmWare 打开在里面安装centos7成功后设置密码帐户名默认root
登录虚拟机ip addr 查看网络并配置 动态网络桥接模式
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-ens32 (最后一个为网卡名称)动态获取IP地址需要修改两处地方即可bootproto=dhcp onboot=yes
esc退出 :wq报存 重启 systemctl restart network 重启虚拟机 reboot
ip addr查看网络IP配置好了则 ping www.baidu.com 看网络是否可用
addr 查看网络并配置 NAT模式
vi /etc/sysconfig/network-scripts/ifcfg-ens33 (最后一个为网卡名称)动态获取IP地址需要修改onboot=yes
esc退出 :wq报存,重启网络服务 service network restart
centos7 安装宝塔:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
>>>编译安装PHP7
cd usr/src 进入目录
wget https://www.php.net/distributions/php-7.2.19.tar.gz 下载包
tar -zxvf php-7.2.15.tar.gz 解压包
cd php-7.2.15 进入解压文件夹目录
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
yum install libxml2 libxml2-devel curl curl-devel libmcrypt libmcrypt-devel libevent-devel gd gd2 gd-devel gd2-devel openssl openssl-devel gcc gcc-c++ m4 autoconf mysql-devel postgresql-devel
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-curl --with-openssl --with-gd --with-zlib --enable-xml --enable-pcntl --enable-fpm --enable-opcache --enable-sockets --enable-ftp --enable-mbstring -with-pdo-mysql=/usr --with-pdo-pgsql
make && make install 编译安装
/usr/local/php/bin/php -v 执行完安装命令后进入查看PHP版本是不是安装成功PHP7
vi /etc/profile 编辑该文件添加环境变量 两行PATH=$PATH:/usr/local/php/bin export PATH 执行命令更新环境变量source /etc/profile 查看环境变量echo $PATH 查看PHP版本php -v
【配置PHP-fpm】
先找到PHP.ini的位置 find / -name 'php.ini' 再复制如下:
cp php.ini-production /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpm start 启动PHP-fpm 或者service php-fpm start 查看是否安装成功 ps aux | grep php-fpm
>>>安装redis
cd usr/src 进入目录
wget http://pecl.php.net/get/redis-5.0.7.tar.gz 官网下载redis包(https://redis.io/download)
tar -xzvf redis-5.0.7.tar.gz 解压
cd redis-5.0.7 进入目录
安装gcc : yum install gcc 遇到选择输入y
编译安装 ,make MALLOC = libc
服务端开启服务:redis-server
客服端:redis-cli
使用ps -aux | grep redis查看redis进程
以后台进程方式启动redis:修改redis.conf文件的daemonize no为daemonize yes指定redis.conf文件启动./redis-server /usr/src/redis-5.0.7/redis.conf
>>>安装swoole
cd usr/src 进入目录
wget https://pecl.php.net/get/swoole-4.3.1.tgz 下载包
tar -zxvf ./swoole-4.3.1.tgz 解压包
cd swoole-4.3.1.tgz 进入目录下
phpize 执行命令找不到则安装yum install php-devel 再执行
./configure --with-php-config=/www/server/php/72/bin/php-config php-config具体路径命令查看
make && make install 编译安装
vi /usr/local/php/etc/php.ini 进入PHP.ini文件添加swoole扩展配置 extension=swoole.so 通过php -m来查看是否成功加载了 Swoole,如果没有可能是php.ini的路径不对,可以使用php --ini来定位到php.ini的绝对路径,加载到了就表明 Swoole 安装成功
>>>Linux下nfs+rpcbind实现服务器之间的文件共享
【安装nfs和rpcbind】
rpm -aq | grep nfs rpm -aq | grep rpcbind 检查自己的电脑是否已经默认安装了nfs和rpcbind
yum install nfs_utils yum install nfs-utils rpcbind 没有则安装
【配置nfs的配置文件和hosts文件】
创建需要共享的目录:默认用/mnt chmod -R 777 /mnt/
vi /etc/exports 配置nfs的配置文件 在这个文件中添加需要输出的目录 eg: /mnt *(rw,no_root_squash,no_all_squash,sync) *表示任何IP可访问
【启动服务】
systemctl start rpcbind
systemctl start nfs
设置开机启动:
systemctl enable rpcbind
systemctl enable nfs-server.service
查看服务状态:
netstat -lt
如果出现如下内容则配置成功
tcp 0 0 *:nfs *:* LISTEN
检查启动状态:
service rpcbind status
service nfs status
【关闭防火墙】:systemctl stop firewalld
【检测服务器的nfs状态】
showmount -e //查看自己共享的服务
【windows下挂载共享目录】
win+r打开cmd窗口输入命令:mount \\虚拟机IP\虚拟机上创建的共享目录\单独未使用的盘符 eg: mount \\192.168.10.199\data f:
>>>安装composer
将项目放在共享目录下进入目录下安装composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" 将安装程序下载到当前目录 php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" 验证安装程序SHA-384 php composer-setup.php 运行安装程序 php -r "unlink('composer-setup.php');" 删除安装程序
php composer-setup.php --install-dir=bin 可以使用该--install-dir选项并提供目标目录,将composer安装到特定目录
php composer-setup.php --filename=composer 可以使用该--filename选项指定文件名(默认值:composer.phar)
php composer-setup.php --version=1.0.0-alpha8 以使用该--version选项并提供目标版本,将composer安装到特定版本
composer config -g repo.packagist composer https://packagist.phpcomposer.com 配置中国镜像
在项目目录下执行 composer up
开启并运行swoft服务:php bin/swoft start 重启swoft: php bin/swoft restart 可以设置swoft开机自启动就不用每次输命令启动swoft了
>>>修改MySQL远程连接权限
mysql -u root -p
密码
GRANT ALL PRIVILEGES ON *.* TO 用户名@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
>>>
>>>
>>>
除了服务器防火墙关闭外,本地防火墙一定要关闭!!!不然请求接口会报数据库连接超时
以前都是单纯的写代码到新公司要求用php的swoft微服务器框架第一次安装环境遇到很多很多坑真是头痛,所以把我安装框架的一系列步骤贴出来,希望对大家有点用哈哈哈,swoft学习相关资料真的是少,做项目过程中一路掉坑一路摸索