Debian9服务器安装Tengine2.2 + MySQL8 + php7

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014552726/article/details/86528851

1. 下载PHP7,编译安装

tar zxf php-x.x.x
cd ../php-x.x.x
./configure --enable-fpm --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --with-zlib --with-curl  --with-bz2
make && make install

2. 准备运行环境

cd php-x.x.x.源码路径
cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

3. 修改运行配置

vim /usr/local/php/php.ini
#Locate cgi.fix_pathinfo= and modify it as follows:
cgi.fix_pathinfo=0

#查找出所有www.conf文件
sudo find / -name www.conf
#将这些文件的其中下面的内容进行修改:nobody修改为www

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www
group = www

4. 修改php-fpm.conf

#查找出所有的php-fpm.conf
sudo find / -name php-fpm.conf

将最后一行
include=NONE/etc/php-fpm.d/*.conf

修改为:
include=etc/php-fpm.d/*.conf

5. 启动

/usr/local/sbin/php-fpm

若遇到错误:
“fastcgi [pool www] cannot get gid for group ‘www’”

解决方法:需要自己创建用户以及组

sudo useradd www

6. tengine配置修改

在tengine安装目录/confmuluxia ,新建server.conf;内容如下:

server{
    listen 80;
    server_name 111.231.114.218;
    server_name blog.okdokey.cn;
    index index.php index.html index.htm;
    root /var/www/wordpress;
    
    location / {
    	try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    location ~* \.php$ {
        fastcgi_index index.php;
		fastcgi_pass 127.0.0.1:9000;
		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME	$document_root$fastcgi_script_name;
		fastcgi_param	SCRIPT_NAME	$fastcgi_script_name;
    }
}

然后编辑nginx.conf,将刚创建的server.conf包含进来:

vim nginx.conf;


http {
    include       mime.types;
    access_log logs/access.log main;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
	include		server.conf;
}

7. 启动tengine

/usr/local/tengine/sbin/nginx -t
/usr/local/tengine/sbin/nginx -s start

8. 测试php

echo "<?php phpinfo(); ?>" >> /usr/local/tengin/html/info.php

访问ip/info.php看php信息介绍页是否成功显示。


遇见的问题:

(1)wordpress配置数据库连接,总提示连接不上?

问题解决:安装的mysql 8社区版,可能是因为其加密方式WordPress不支持吧,卸载重新安装了mariadb10.1没有问题。

(2)WordPress登录后台报错:PHP Fatal error: Call to undefined function gzinflate()?

问题解决:php7缺少zlib扩展,安装zlib后,wordpress才能够升级插件,wp super cache才可以使用压缩功能。方法如下:

进入php7的源码目录,进入ext/zlib,将config0.m4修改为config.m4

运行:

/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config
make && make install

最后在php.ini里面添加extension=zlib

vi /usr/local/php/php.ini 

重启 php-fpm

killall php-fpm
/usr/local/sbin/php-fpm

ps: php各种模块扩展的编译安装,都是这种套路

猜你喜欢

转载自blog.csdn.net/u014552726/article/details/86528851