Compiling and installing PHP, LNMP configuration and validation

Keywords: PHP Nginx MySQL yum

  • Compile and install Nginx and Mysql

http://blog.csdn.net/qq_36294875/article/details/79352522 [MySQL5.7.11 Compilation and installation]
http://blog.csdn.net/qq_36294875/article/details/79344943 [Nginx And simple configuration]

  • Compile installed environment

The host is 172.25.23.6 hostname:server6.com
Kernel version: 2.6.32-431.el6.x86 ʄ
Use php-5.6.20.tar.bz2
Additional packages:
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm

  • Error in executing. / configure
  • Error:
configure: error: xml2-config not found. Please check your libxml2 installation.
  • Solve:
[root@server6 php-5.6.20]# yum install -y libxml2-devel 
  • Error:
configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/
  • Solve
[root@server6 php-5.6.20]# yum install curl-devel -y
  • Error:
If configure fails try --with-vpx-dir=<DIR>
configure: error: jpeglib.h not found.
  • Solve
[root@server6 php-5.6.20]# yum install -y libjpeg-turbo-devel
  • Error:
If configure fails try --with-vpx-dir=<DIR>
checking for jpeg_read_header in -ljpeg... yes
configure: error: png.h not found.
  • Solve
[root@server6 php-5.6.20]# yum install libpng-devel -y 
  • Error:
If configure fails try --with-xpm-dir=<DIR>
configure: error: freetype-config not found.
  • Solve
[root@server6 php-5.6.20]# yum install freetype-devel-2.3.11-14.el6_3.1.x86_64 -y
  • Error:
configure: error: Unable to locate gmp.h
  • Solve
[root@server6 php-5.6.20]# yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
  • Error:
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
  • Solve
libmcrypt-2.5.8-9.el6.x86_64.rpm
libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
[root@server6 php-5.6.20]# yum install ~/libmcrypt-* -y
  • Error:
configure: error: Could not find net-snmp-config binary. Please check your net-snmp installation.
  • Solve
[root@server6 php-5.6.20]# yum install net-snmp-devel -y
  • Compile
[root@server6 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php/ \
> --with-config-file-path=/usr/local/lnmp/php/etc \
> --with-openssl \
> --with-snmp \
> --with-gd \
> --with-zlib \
> --with-curl \
> --with-libxml-dir \
> --with-png-dir \
> --with-jpeg-dir \
> --with-freetype-dir \
> --with-gettext \
> --without-pear \
> --with-gmp \
> --enable-inline-optimization \
> --enable-soap \
> --enable-ftp \
> --enable-sockets
> --enable-mbstring
> --with-mysql
> --with-mysqli
> --with-pdo-mysql
> --enable-mysqlnd
> --enable-fpm
> --with-fpm-user=nginx
> --with-fpm-group=nginx
> --with-mcrypt 
> --with-mhash
  • Execution completion needs to appear

  • Then execute the make command

[root@server6 php-5.6.20]# make 

No log handling enabled - turning on stderr logging
Created directory: /var/lib/net-snmp/mib_indexes
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
clicommand.inc
directorytreeiterator.inc
invertedregexiterator.inc
directorygraphiterator.inc
pharcommand.inc
phar.inc
  • To ensure that the outcome fight needs to occur

  • Then execute make install

[root@server6 php-5.6.20]# make install
Installing shared extensions:     /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary:        /usr/local/lnmp/php/bin/
Installing PHP CLI man page:      /usr/local/lnmp/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/lnmp/php/sbin/
  • Need to appear

  • Modify profile

[root@server6 php-5.6.20]# cd /usr/local/lnmp/php/
[root@server6 php]# cd etc/
[root@server6 etc]# cp php-fpm.conf.default php-fpm.conf
[[root@server6 etc]# cp ~/php-5.6.20/php.ini-production /usr/local/lnmp/php/etc/php.ini
  • Modify. The previous value indicates the line number
[root@server6 etc]# vim php.ini
925  date.timezone = Asia/Shanghai
1001 pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock
1150 mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
1209 mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

[root@server6 etc]# vim php-fpm.conf
25 pid = run/php-fpm.pid
  • Copy startup script
[root@server6 php-5.6.20]# cd sapi/fpm/
[root@server6 fpm]# pwd
/root/php-5.6.20/sapi/fpm
[root@server6 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@server6 fpm]# chmod +x /etc/init.d/php-fpm
  • Start service and view status
[root@server6 fpm]# /etc/init.d/php-fpm start
Starting php-fpm  done

  • Modify the configuration file of Nginx
[root@server6 fpm]# cd /usr/local/lnmp/nginx/conf/

[root@server6 conf]# vim nginx.conf

    location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
  • Test the correctness of the modified configuration file
[root@server6 conf]# nginx -t
nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
[root@server6 conf]# nginx 


*Check whether your service starts normally

*Provide a default page for php

[root@server6 nginx]# cd html/
[root@server6 html]# ls
50x.html  index.html
[root@server6 html]# vim index.php
<?php
phpinfo()
?>
  • Test access through browser

  • Install Discuz forum program
[root@server6 ~]# unzip Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/


[root@server6 ~]# cd /usr/local/lnmp/nginx/html/
[root@server6 html]# mv upload/ bbs
[root@server6 html]# cd bbs/
[root@server6 bbs]# chmod 777 config/ data/ uc_client/ uc_server/ -R
  • Configure via browser
  • Welcome page for Discuz
  • You need to make sure that no red x appears on this page
  • Database connection successful installation page

    • Access through the following connection

    • Go to check the extra information in the database

    • The database built by ultrax for Discuz;
    • Table information in the database

Posted by joeman3429 on Fri, 03 Apr 2020 06:14:47 -0700