lnmp环境搭建

环境说明:

系统:centos7.6
php版本:php7.1
数据库:mariadb
nginx:1.16.1

一 安装nginx

yum install nginx

二 安装数据库

yum install mariadb-server

三 安装php

3.1 安装依赖包

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 zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses curl gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel expat-devel xmlrpc-c xmlrpc-c-devel libicu-devel libmcrypt-devel libmemcached-devel

3.2 安装php

wget http://php.net/distributions/php-7.1.0.tar.gz

解压,然后

configure
--prefix=/home/yx/server/php72  #安装路径,需要提前创建

./configure --prefix=/home/yx/server/php72 --enable-cli --with-libxml-dir=/usr/include/libxml2/libxml/ --with-kerberos=/usr/include/krb5/ --enable-bcmath --enable-calendar --enable-fpm  --enable-soap --enable-exif --enable-mbstring --enable-pdo --with-pdo-mysql=mysqlnd --with-mysql-sock --with-curl=/usr/include/curl/ --enable-ftp --enable-mbstring --with-png-dir --with-gd  --with-freetype-dir=/usr/include/freetype2/freetype/ --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib=/usr --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd --with-jpeg-dir --with-openssl --with-gettext --with-ldap --enable-opcache

在configure中可能存在多个错误,按照提示解决即可

3.3 安装 make && make install

在make的时候会遇到一个错误:

/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf'
//usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

解决办法

编辑MakeFile

找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber,在113行

四 配置php-fpm

4.1 拷贝php.fpm.conf

cp -r /home/yx/server/php72/etc/php-fpm.d/www.conf.default  /home/yx/server/php72/etc/php-fpm.conf

php-fpm.conf配置文件内容如下:

grep -v "^;" /home/yx/server/php72/etc/php-fpm.conf|grep -v "^$"

[www]
user = nobody
group = nobody
listen = 127.0.0.1:9000 #端口9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

4.2拷贝启动脚本

cp -r /soft/php-7.1.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 

chmod +x /etc/init.d/php-fpm

启动php-fpm

/etc/init.d/php-fpm start

五 配置nginx

[root@k8s-master01 php-7.1.0]# cat /etc/nginx/conf.d/php.conf 
server{
        server_name www.aa.com;
        listen 80;

        root /usr/share/nginx/html;
        index index.php index.html;

        location ~ .php?$
        {

                fastcgi_index index.php;
                fastcgi_pass 127.0.0.1:9000; # 这个地方要跟php-fpm.conf里面的一致
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

然后重启nginx服务

5.1 解析php

[root@k8s-master01 php-7.1.0]# cat /usr/share/nginx/html/index.php 
<?php
    phpinfo();
?>

去浏览器访问 www.aa.com

5.2测试连接数据库

[root@k8s-master01 php-7.1.0]# cat /usr/share/nginx/html/mysql.php 
<?php
$link=mysqli_connect('127.0.0.1','root','');                
if($link) echo "恭喜你,数据库连接成功啦!!";                   
mysqli_close($link);                                                   
?>

同样访问www.aa.com/mysql.php

原文地址:https://www.cnblogs.com/huningfei/p/12971396.html