php7+yaf+nginx+redis+memcached的环境部署
发表于:2020-05-25 16:03:56浏览:54次
安装 nginx
apt-get install nginx
安装 mysql
apt-get install mysql-server
安装 php7 可能用到的依赖
apt-get install gcc
apt-get install make
apt-get install curl
apt-get install libxml2-dev
apt-get install libcurl3-openssl-dev
apt-get install libcurl4-gnutls-dev
apt-get install libbz2-dev
apt-get install libjpeg-dev
apt-get install libpng-dev
apt-get install libpng++-dev
apt-get install libxpm-dev
apt-get install libfreetype6-dev
apt-get install libmcrypt-dev
apt-get install libmysql++-dev
apt-get install libxslt1-dev
# php7.4 -> No package 'sqlite3' found
apt-get install libsqlite3-dev
# php7.4 -> No package 'oniguruma' found
git clone https://github.com/kkos/oniguruma.git oniguruma
cd oniguruma
./autogen.sh
./configure
make
make install
安装 php7.3.5
wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar zxvf php-7.3.5.tar.gz
./configure --prefix=/usr/local/php --enable-fpm --enable-mbstring=all -enable-mysqlnd --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/conf.d --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-curl --with-gd --with-jpeg --with-freetype
make
make install
配置 php
cp php.ini-development /usr/local/php/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
// 创建扩展文件夹 (如果存在则无须创建)
mkdir /usr/local/php/etc/conf.d
vim /etc/profile
//将下面的一句话加到末尾
export PATH=$PATH:/usr/local/php/bin
source /etc/profile
php -v //出现版本号说明安装成功 ( /usr/local/php/bin/php -v )
php -m //查看你安装的依赖
// php-fpm 加入到 service
cp php-7.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
// ubuntu 18.04
systemctl daemon-reload
// ubuntu 16.04
update-rc.d php7-fpm defaults
配置 php 多进程池
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www-9001.conf
vim /usr/local/php/etc/php-fpm.d/www-9901.conf
[www] 修改为: [www-9901]
user = nobody 修改为: user = www-data
group = nobody 修改为: user = www-data
listen = 127.0.0.1:9000 修改为: listen = 127.0.0.1:9901
配置 nginx 负载均衡
vim /etc/nginx/conf.d/upstream.conf
// 添加如下
upstream php7-fpm-flome-service {
server 127.0.0.1:9901 max_fails=3 fail_timeout=5s weight=9;
server 127.0.0.1:9902 max_fails=3 fail_timeout=5s weight=6;
server 127.0.0.1:9903 max_fails=3 fail_timeout=5s weight=3;
server 127.0.0.1:9904 max_fails=3 fail_timeout=5s weight=1;
}
安装 yaf 扩展
// 可能需要的依赖
apt-get install autoconf
apt-get install libtool
wget https://pecl.php.net/get/yaf-3.0.8.tgz
tar zxvf yaf-3.0.8.tgz
cd yaf-3.0.8
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vim /usr/local/php/etc/conf.d/yaf.ini
// 写入如下内容
[yaf]
extension=yaf.so
[yaf_library]
yaf.library="/home/app/config_app/library"
安装 redis 扩展
wget https://pecl.php.net/get/redis-4.3.0.tgz
tar zxvf redis-4.3.0.tgz
cd redis-4.3.0
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vim /usr/local/php/etc/conf.d/redis.ini
// 写入如下内容
[redis]
extension=redis.so
安装 memcache 扩展
wget https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.zip
unzip NON_BLOCKING_IO_php7.zip
cd pecl-memcache-NON_BLOCKING_IO_php7/
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
vim /usr/local/php/etc/conf.d/memcache.ini
// 写入如下内容
[memcache]
extension=memcache.so
安装 libmemcached 1.0.18 版本
# 方法1
apt-get install libmemcached-dev
# 方法2
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make
make install
安装 memcached 扩展
https://github.com/php-memcached-dev/php-memcached
wget https://github.com/php-memcached-dev/php-memcached/archive/master.zip
cd php-memcached
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
- sudo ./configure --with-php-config=/usr/local/php/bin/php-config --disable-memcached-sasl
make
make install
vim /usr/local/php/etc/conf.d/memcached.ini
// 写入如下内容
[memcached]
extension=memcached.so
安装 openssl 扩展
cd php-7.3.5/ext/openssl
mv config0.m4 config.m4
/usr/local/php/bin/phpize
./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make
make install
vim /usr/local/php/etc/conf.d/openssl.ini
// 写入如下内容
[openssl]
extension=openssl.so

