linux 配置swoole环境

安装PHP

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --php_option 6 --phpcache_option 1 --reboot    
vim /usr/local/php/etc/php.ini

删除对exec函数的禁止

环境安装

hiredis_version="0.13.3"
phpredis_version="3.1.6"
phpds_version="1.2.4"
phpinotify_version="2.0.0"
swoole_version="2.1.1"

config

echo "include /etc/ld.so.conf.d/*.conf" |  tee /etc/ld.so.conf
mkdir /etc/ld.so.conf.d
cd /etc/ld.so.conf.d
echo "/usr/local/lib" | tee /etc/ld.so.conf.d/libc.conf
ldconfig -v

hiredis

wget https://github.com/redis/hiredis/archive/v0.13.3.tar.gz
tar -xzvf v0.13.3.tar.gz && cd `pwd`/hiredis-0.13.3
make clean && make -j && make install
ldconfig

swoole 1.10.6

wget https://github.com/swoole/swoole-src/archive/v1.10.6.tar.gz
tar -xzvf v1.10.6.tar.gz && cd `pwd`/swoole-src-1.10.6
phpize && ./configure --enable-async-redis --enable-openssl --enable-coroutine && make clean && make -j && make install
echo "extension=swoole.so" | tee `echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php`/swoole.ini

swoole 4.2.10

wget https://github.com/swoole/swoole-src/archive/v4.2.10.tar.gz
tar -xzvf v4.2.10.tar.gz && cd `pwd`/swoole-src-4.2.10
phpize && ./configure --enable-async-redis --enable-openssl && make clean && make -j && make install
echo "extension=swoole.so" | tee `echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php`/swoole.ini

redis

wget https://github.com/phpredis/phpredis/archive/4.0.2.tar.gz
tar -xzvf 4.0.2.tar.gz && cd `pwd`/phpredis-4.0.2
phpize && ./configure && make clean && make install
echo "extension=redis.so" | tee `echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php`/redis.ini

php-ds

wget https://github.com/php-ds/extension/archive/v1.2.5.tar.gz
tar -xzvf v1.2.5.tar.gz && cd `pwd`/ext-ds-1.2.5
phpize && ./configure && make clean && make -j && make install
echo "extension=ds.so" | tee `echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php`/ds.ini

php-inotify

wget https://github.com/arnaud-lb/php-inotify/archive/2.0.0.tar.gz
tar -xzvf 2.0.0.tar.gz && cd `pwd`/php-inotify-2.0.0
phpize && ./configure && make clean && make -j && make install
echo "extension=inotify.so" | tee `echo '<?php $command=$argv[1]??null;ob_start();phpinfo(INFO_GENERAL);$result=ob_get_contents();ob_clean();$ini_files="";$info=explode("\n\n",$result)[1];$info2=explode("\n",$info);foreach($info2 as $value){$info3=explode("=>",$value);if($info3[0]=="Scan this dir for additional .ini files "){$ini_files = trim($info3[1]);break;}}echo $ini_files;' | php`/inotify.ini
## redis-server

sudo apt-get install redis-server

redis-server

## nginx

乌班图下

sudo su root

apt-get install nginx

service nginx start

### php-fpm

sudo apt-get install php7.2-fpm

sudo service php7.2-fpm start

### 配置站点

server {

listen 8084;

server_name guang.com;

root “/mnt/e/caoxiukang/probject/project/platform_waimai/www”;

location / {

index index.php index.html;

autoindex off;

}

location ~ .php(.*)$ {

#fastcgi_pass 127.0.0.1:9000;

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

fastcgi_index index.php;

fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentr​ootfastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED d o c u m e n t r o o t document_root documentr​ootfastcgi_path_info;

include fastcgi_params;

}

if (!-e KaTeX parse error: Expected '}', got 'EOF' at end of input: … rewrite ^/(.*) /index.php?target=$1 last;

}

}

乌班图下配置站点以后会遇到nginx 报502的错,初步判断是php-fpm没起来,但是执行
```bash
sudo service php7.2-fpm start //还是不行 索性换另一种方式
unix:/run/php/php7.2-fpm.sock //

另外在win10子系统乌班图上php安装redis后需要重新修改 php.ini文件 加入extension=redis 路径在 /etc/php/7.2 这个目录下,都改一下吧