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

posted @ 2020-05-27 11:13  huningfei  阅读(173)  评论(0编辑  收藏  举报
levels of contents