CentOS7 compilation and installation of LNMP

Source: Internet
Author: User
Tags openssl library automake
CentOS7 compilation and installation of LNMP LNMPCentOS

LNMP (Linux-Nginx-Mysql-PHP), this article will try to compile LNMP on CentOS7.0. The full text basically uses manual compilation and deployment... relying on yum helped me install GCC and automake .. it takes a long time to write this thing... nima is too time-consuming. Linux O & M exchange group: 344177552

Major software versions:

nginx-1.6.0
php-5.3.5
mysql-5.5.6

Yum source configuration (in fact, there is no change)

[root@ipython ~]# cat /etc/yum.repos.d/1.repo 
[1]
name=1
baseurl=file:///media
enabled=1
gpgcheck=0

[root@ipython ~]# mount /dev/cdrom /media && yum clean all
mount: /dev/sr0 is write-protected, mounting read-only
Loaded plugins: fastestmirror
Cleaning repos: 1
Cleaning up everything

Compile tool installation

[root@ipython ~]# yum install gcc-c++ automake autoconf bzip2

Zlib library (a function library for data compression ):

[root@ipython lnmp]# tar zxf zlib-1.2.8.tar.gz 
[root@ipython lnmp]# cd zlib-1.2.8
[root@ipython zlib-1.2.8]# ./configure --prefix=/software/sharelib
[root@ipython zlib-1.2.8]# make && make install

Pcre library (rewrite support)

[root@ipython lnmp]# tar zxf pcre-8.35.tar.gz 
[root@ipython lnmp]# cd pcre-8.35
[root@ipython pcre-8.35]# ./configure --prefix=/software/pcre --enable-utf8 --enable-unicode-properties
[root@ipython pcre-8.35]# make && make install

OpenSSL library (https support)

[root@ipython lnmp]# tar zxf openssl-1.0.1h.tar.gz 
[root@ipython lnmp]# cd openssl-1.0.1h
[root@ipython openssl-1.0.1h]# ./config --prefix=/software/openssl
[root@ipython openssl-1.0.1h]# make && make install

TCMalloc tool (google memory management kit)

[Root @ ipython lnmp] # tar zxf libunwind-1.1.tar.gz
[Root @ ipython lnmp] # cd libunwind-1.1
[Root @ ipython libunwind-1.1] # CFLAGS =-fPIC./configure -- prefix =/software/google-libunwind
[Root @ ipython libunwind-1.1] # make CFLAGS =-fPIC & make CFLAGS =-fPIC install

[Root @ ipython lnmp] # tar zxf gperftools-2.2.tar.gz
[Root @ ipython lnmp] # cd gperftools-2.2
[Root @ ipython gperftools-2.2] # LDFLAGS = "-L/software/google-libunwind/lib" CPPFLAGS = "-I/software/google-libunwind/include ". /configure -- prefix =/software/google-perftools
[Root @ ipython gperftools-2.2] # make & make install

### Add the path to the dynamic link library ###
[Root @ ipython gperftools-2.2] # echo "/software/google-libunwind/lib/">/etc/ld. so. conf
[Root @ ipython gperftools-2.2] # echo "/software/google-perftools/lib/">/etc/ld. so. conf
[Root @ ipython gperftools-2.2] # echo "/software/sharelib/lib/">/etc/ld. so. conf & ldconfig

Nginx (not explained)

[Root @ ipython lnmp] # groupadd-g 1500 nginx
[Root @ ipython lnmp] # useradd-M-u 1500-g nginx-s/sbin/nologin nginx
[Root @ ipython lnmp] # mkdir/var/tmp/nginx
[Root @ ipython lnmp] # chown nginx: nginx/var/tmp/nginx/
[Root @ ipython lnmp] # tar zxf nginx-1.6.0.tar.gz
[Root @ ipython lnmp] # cd nginx-1.6.0
[Root @ ipython nginx-1.6.0] # sed-I's/CFLAGS = "$ CFLAGS-g"/# CFLAGS = "$ CFLAGS-g"/'Auto/cc/gcc
[Root @ ipython nginx-1.6.0] # sed-I "s #/usr/local #/software/google-perftools #" auto/lib/google-perftools/conf
# Configuration parameters long ##
[Root @ ipython nginx-1.6.0] #. /configure -- prefix =/software/nginx -- user = nginx -- group = nginx -- with-http_stub_status_module -- with-http_ssl_module -- with-http_realip_module -- with-debug -- http-client-body-temp-path = /var/tmp/nginx/client -- http-proxy-temp-path =/var/tmp/nginx/proxy -- http-fastcgi-temp-path =/var/tmp/nginx /fastcgi -- http-uwsgi-temp-path =/var/tmp/nginx/uwsgi -- http-scgi-temp-path =/var/tmp/nginx/scgi -- with-pcre =/root/lnmp/pcre-8.35 -- with-openssl =/root/lnmp/openssl-1.0.1h -- with-zlib =/root/lnmp/zlib-1.2.8 -- with-google_perftools_module
[Root @ ipython nginx-1.6.0] # make & make install

[Root @ ipython nginx-1.6.0] # mkdir/tmp/tcmalloc
[Root @ ipython nginx-1.6.0] # chmod 0777/tmp/tcmalloc/
### This file is in the attachment ###
[Root @ ipython nginx-1.6.0] # cp ../nginx. conf/software/nginx/conf/
[Root @ ipython nginx-1.6.0] # cp ../fcgi. conf/software/nginx/conf/
[Root @ ipython nginx-1.6.0] # chmod 755/etc/init. d/nginx
[Root @ ipython nginx-1.6.0] # mkdir/data/{logs, www. ipython. me}
[Root @ ipython nginx-1.6.0] #/software/nginx/sbin/nginx
[Root @ ipython nginx-1.6.0] # iptables-F
[Root @ ipython nginx-1.6.0] # iptables-a input-p tcp -- dport 22-j ACCEPT
[Root @ ipython nginx-1.6.0] # iptables-a input-p tcp -- dport 80-j ACCEPT
[Root @ ipython nginx-1.6.0] # ps aux | grep nginx
Root 612910.00.031120 896? Nginx: master process/software/nginx/sbin/nginx-c/software/nginx/conf/nginx. conf
Nginx612930.00.1315601612? S15: 36 0: 00 nginx: worker process

Ncurses library (character terminal processing Library)

[root@ipython lnmp]# tar jxf ncurses-5.9.tar.bz2 
[root@ipython lnmp]# cd ncurses-5.9
[root@ipython ncurses-5.9]# ./configure --prefix=/software/ncurses --with-shared --without-debug
[root@ipython ncurses-5.9]# make && make install

Mysql (database)

[Root @ ipython lnmp] #/usr/sbin/groupadd mysql
[Root @ ipython lnmp] #/usr/sbin/useradd-s/sbin/nologin-g mysql
[Root @ ipython lnmp] # tar zxf mysql-5.5.6-rc.tar.gz
[Root @ ipython lnmp] # cd mysql-5.5.6-rc
[Root @ ipython mysql-5.5.6-rc] #. /configure -- prefix =/software/mysql/-- enable-starter er -- with-extra-charsets = complex -- enable-thread-safe-client -- with-big-tables -- with-readline -- with-ssl -- with-embedded-server -- enable-local-infile -- with-plugins = partition, innobase, myisammrg -- with-named-curses-libs =/software/ncurses/lib/libncurses. so.5
[Root @ ipython mysql-5.5.6-rc] # make & make install
[Root @ ipython mysql-5.5.6-rc] # mkdir/data/mysql/{binlog, relaylog}-p
[Root @ ipython mysql-5.5.6-rc] # chown-R mysql: mysql/data/mysql
[Root @ ipython mysql-5.5.6-rc] #/software/mysql/bin/mysql_install_db -- basedir =/software/mysql/-- datadir =/data/mysql/-- user = mysql
### This file is in the attachment ###
[Root @ ipython mysql-5.5.6-rc] #/cp ../my. cnf/etc/my. cnf
[Root @ ipython mysql-5.5.6-rc] #/cp ../mysqld/etc/init. d/mysqld
[Root @ ipython mysql-5.5.6-rc] # chmod 755/etc/init. d/mysqld
[Root @ ipython mysql-5.5.6-rc] # systemctl enable mysqld
[Root @ ipython mysql-5.5.6-rc] # systemctl start mysqld

[Root @ ipython mysql-5.5.6-rc] # ps aux | grep mysqld
Root 554750.10.1 1153481696? S16: 07 0: 00/bin/sh/software/mysql/bin/mysqld_safe -- datadir =/data/mysql -- pid-file =/data/mysql. pid
Mysql563422.7 11.9 1918248 120680? Sl/software/mysql/libexec/mysqld -- basedir =/software/mysql -- datadir =/data/mysql -- plugin-dir =/software/mysql/lib/mysql/plugin -- user = mysql -- log-error =/data/mysql/mysql_error.log -- open-files-limit = 10240 -- pid-file =/data/mysql. pid -- socket =/tmp/mysql. sock -- ports = 3306

Libiconv Library (character encoding conversion)

[Root @ ipython lnmp] # tar zxf libiconv-1.14.tar.gz
### Install patches to avoid manual modification of hidden logic errors ###
[Root @ ipython lnmp] # gzip-d libiconv-glibc-2.16.patch.gz
[Root @ ipython lnmp] # cd libiconv-1.14/srclib
[Root @ ipython srclib] # patch-p1 <.../libiconv-glibc-2.16.patch
Patching file stdio. in. h
[Root @ ipython libiconv-1.14] # cd ..
[Root @ ipython libiconv-1.14] #./configure -- prefix =/software/sharelib/
[Root @ ipython libiconv-1.14] # make & make install

Libxml Library (XML Library)

[root@ipython lnmp]# tar jxf libxml2-2.8.0.tar.bz2 
[root@ipython lnmp]# cd libxml2-2.8.0
[root@ipython libxml2-2.8.0]# ./configure --prefix=/software/sharelib
[root@ipython libxml2-2.8.0]# make && make install

Libpng Library (Image Library)

[root@ipython lnmp]# tar jxf libpng-1.6.8.tar.bz2 
[root@ipython lnmp]# cd libpng-1.6.8
[root@ipython libpng-1.6.8]# LDFLAGS="-L/software/sharelib/lib/" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib
[root@ipython libpng-1.6.8]# make && make install

Jpeg Library (Image Library)

[root@ipython lnmp]# tar jxf jpegsrc.v9a.tar.bz2
[root@ipython lnmp]# cd jpeg-9a/
[root@ipython jpeg-9a]# ./configure --prefix=/software/sharelib/
[root@ipython jpeg-9a]# make && make install

Freetype (Font Library)

[root@ipython lnmp]# tar jxf freetype-2.5.2.tar.bz2 
[root@ipython lnmp]# cd freetype-2.5.2
[root@ipython freetype-2.5.2]# LIBPNG_CFLAGS="-I/software/sharelib/include/" LIBPNG_LDFLAGS="-L/software/sharelib/lib/" ./configure --prefix=/software/sharelib
[root@ipython freetype-2.5.2]# make && make install
[root@ipython freetype-2.5.2]# ln -s /software/sharelib/include/freetype2 /software/sharelib/include/freetype2/freetype

Libmcrypt Library (encryption algorithm)

[root@ipython lnmp]# tar jxf libmcrypt-2.5.8.tar.bz2 
[root@ipython lnmp]# cd libmcrypt-2.5.8
[root@ipython libmcrypt-2.5.8]# ./configure --prefix=/software/sharelib
[root@ipython libmcrypt-2.5.8]# make && make install

Mhash Library (encrypted)

[root@ipython lnmp]# tar jxf mhash-0.9.9.9.tar.bz2
[root@ipython lnmp]# cd mhash-0.9.9.9
[root@ipython mhash-0.9.9.9]# ./configure --prefix=/software/sharelib/
[root@ipython mhash-0.9.9.9]# make && make install

Curl Library (URL transmission)

[root@ipython lnmp]# tar jxf curl-7.36.0.tar.bz2
[root@ipython lnmp]# cd curl-7.36.0
[root@ipython curl-7.36.0]# ./configure --prefix=/software/curl
[root@ipython curl-7.36.0]# make && make install

Gd Library (drawing)

[root@ipython lnmp]# tar zxf gd-2.0.35.tar.gz 
[root@ipython lnmp]# cd gd-2.0.35
[root@ipython gd-2.0.35]# LDFLAGS="-L/software/sharelib/lib" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib --enable-shared --with-png=/software/sharelib --with-freetype=/software/sharelib --with-libiconv-prefix=/software/sharelib --with-jpeg=/software/sharelib
[root@ipython gd-2.0.35]# make && make install

Libtool (library compilation support)

[root@ipython lnmp]# tar zxf libtool-2.4.2.tar.gz 
[root@ipython lnmp]# cd libtool-2.4.2
[root@ipython libtool-2.4.2]# ./configure --prefix=/software/sharelib/ --enable-ltdl-install
[root@ipython libtool-2.4.2]# make && make install

Add mysql library files to dynamic sharing

[root@ipython lnmp]# echo "/software/mysql/lib/mysql/" >> /etc/ld.so.conf && ldconfig

PHP (a language)

[Root @ ipython lnmp] # tar zxf php-5.3.5.tar.gz
[Root @ ipython lnmp] # cd php-5.3.5
[Root @ ipython php-5.3.5] # sed-I s "# mysql/psi. h #/software/mysql/include/mysql/psi. h # "/software/mysql/include/mysql/my_sys.h
[Root @ ipython php-5.3.5] # sed-I s "# mysql/plugin. h #/software/mysql/include/mysql/plugin. h # "/software/mysql/include/mysql/m_string.h
[Root @ ipython php-5.3.5] # sed-I s "# mysql/services. h #/software/mysql/include/mysql/services. h # "/software/mysql/include/mysql/plugin. h
[Root @ ipython php-5.3.5] # sed-I s "# mysql/service_my_snprintf.h #/software/mysql/include/mysql/service_my_snprintf.h #"/software/mysql/include/mysql/services. h
[Root @ ipython php-5.3.5] # sed-I s "# mysql/service_thd_alloc.h #/software/mysql/include/mysql/service_thd_alloc.h #"/software/mysql/include/mysql/services. h
[Root @ ipython php-5.3.5] #. /configure -- prefix =/software/php -- with-config-file-path =/software/php/etc -- with-mysql =/software/mysql -- with-mysqli =/software /mysql/bin/mysql_config -- with-iconv-dir =/software/sharelib -- disable-ipv6 -- with-freetype-dir =/software/sharelib/-- with-jpeg-dir =/software /sharelib/-- with-png-dir =/software/sharelib/-- with-zlib =/software/sharelib/-- with-libxml-dir =/software/sharelib/-- disable- rpath -- enable-bcmath -- enable-safe-mode -- enable-shmop -- enable-sysvsem -- with-curl =/software/curl/-- enable-fpm -- enable-mbstring --- mcrypt =/software/sharelib/-- with-gd =/software/sharelib/-- enable-gd-native-ttf -- with-openssl =/software/openssl -- with-mhash -- enable -pcntl -- enable-sockets -- with-xmlrpc -- enable-zip -- enable-soap -- enable-inline-optimization -- with-curlwrappers -- enable-mbregex -- with-gettext
[Root @ ipython php-5.3.5] # make install

# Create a PHP-FPM configuration file, parameters or something you can adjust according to the configuration ##
[Root @ ipython php-5.3.5] # cat>/software/php/etc/php-fpm.conf <

Okay... look at the picture.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.