CentOS6.8 compile and install LNMP and centos6.8 compile lnmp
Idea: select an appropriate installation package based on the Linux System and the company's website system information.
1. View System Information
# Uname-a # view kernel/OS/CPU information # head-n 1/etc/issue # view OS version # grep MemTotal/proc/meminfo # view total memory # fdisk -l # view all partitions
View Code
Ii. Installation
General dependency package installation
1 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openldap openldap-devel openldap-clients openldap-servers make zlib-devel pcre-devel openssl-devel libtool* git tree bison perl gd gd-devel
View Code
Install libiconv Library
1 tar zxvf libiconv-1.14.tar.gz2 cd libiconv-1.143 ./configure --prefix=/usr/local/libiconv4 make && make install5 cd ..
View Code
Install libmcrypt, mhash, and mcrypt Libraries
1 tar zxvf libmcrypt-2.5.8.tar.gz 2 cd libmcrypt-2.5.8 3 ./configure 4 make && make install 5 cd .. 6 tar jxvf mhash-0.9.9.9.tar.bz2 7 cd mhash-0.9.9.9 8 ./configure 9 make && make install10 cd ..11 tar zxvf mcrypt-2.6.8.tar.gz12 cd mcrypt-2.6.813 ./configure14 make && make install15 cd ..
View Code
Install CMake
1 tar zxvf cmake-3.7.2.tar.gz2 cd cmake-3.7.23 ./bootstrap && make && make install4 cd..
View Code
Install MySQL
1 # uninstall old version 2 rpm-e mysql -- nodeps 3 # create mysql user 4 groupadd mysql & useradd-g mysql-M mysql 5 tar zxvf mysql-5.6.24.tar.gz 6 cd mysql-5.6.24 7 cmake \ 8- DCMAKE_INSTALL_PREFIX =/usr/local/mysql \ 9-DMYSQL_DATADIR =/usr/local/mysql/data \ 10-DSYSCONFDIR =/etc \ 11-DMYSQL_USER = mysql \ 12-rows = 1 \ 13-DWITH_INNOBASE_STORAGE_ENGINE = 1 \ 14-runtime = 1 \ 15-DWITH_MEMORY_STORAGE_ENGINE = 1 \ 16-DWITH_READLINE = 1 \ 17-DMYSQL_UNIX_ADDR =/var/lib/mysql. sock \ 18-DMYSQL_TCP_PORT = 3306 \ 19-DENABLED_LOCAL_INFILE = 1 \ 20-DENABLE_DOWNLOADS = 1 \ 21-rows = 1 \ 22-DEXTRA_CHARSETS = all \ 23-DDEFAULT_CHARSET = utf8 \ 24- DDEFAULT_COLLATION = utf8_general_ci \ 25-DWITH_DEBUG = 0 \ 26-DMYSQL_MAINTAINER_MODE = 0 \ 27-DWITH_SSL: STRING = bundled \ 28-DWITH_ZLIB: STRING = bundled29 make & make install30 # modify directory permission 31 chown-R mysql: mysql/usr/local/mysql32 # copy the configuration file (note: if the/etc directory contains my. cnf, directly overwrite) 33 cp support-files/my-default.cnf/etc/my. cnf34 # edit the configuration file. In the [mysqld] section, add the following line 35 vi/etc/my. cnf36 datadir =/usr/local/mysql/data # Add MySQL database path 37 # Run the initialization configuration script, create a database and Table 38/usr/local/mysql/scripts/mysql_install_db -- basedir =/usr/local/mysql -- datadir =/usr/local/mysql/data -- user = mysql39 # Add to System Service 40 cp support-files/mysql. server/etc/init. d/mysqld41 chmod + x/etc/init. d/mysqld42 # Start mysql43 service mysqld start44 # Start 45 chkconfig mysqld on46 # Add the environment variable 47 echo 'path =/usr/local/mysql/bin: $ PATH '>/etc/profile48 export PATH49 # Make the configuration take effect 50 source/etc/profile51 # Set the root password, the default value is 52/usr/local/mysql/bin/mysqladmin-uroot-p password53 cd ..
View Code
Install PHP
1 tar zxvf php-5.6.30.tar.gz 2 cd php-5.6.30 3. /configure \ 4 -- prefix =/usr/local/php \ 5 -- with-fpm-user = www -- with-fpm-group = www \ 6 -- with-config-file- path =/usr/local/php/etc \ 7 -- with-mhash -- with-mcrypt -- enable-bcmath \ 8 -- enable-mysqlnd -- with-mysql -- with-mysqli -- -pdo-mysql \ 9 -- with-gd -- enable-gd-native-ttf -- with-jpeg-dir -- with-png-dir -- with-freetype-dir \ 10 -- enable -fpm \ 11 -- enable-mbstring \ 12 -- enable-pcntl \ 13 -- enable-sockets \ 14 -- enable-opcache \ 15 -- with-openssl \ 16 -- with-zlib \ 17 -- with-curl \ 18 -- with-libxml-dir \ 19 -- with-iconv-dir20 make & make install21 # Move to generate php-fpm configuration file 22 mv/usr/local/php/etc/ php-fpm.conf.default/usr/local/php/etc/php-fpm.conf23 # copy to generate a php configuration file 24 cp php. ini-production/usr/local/php/etc/php. ini25 # Add php-fpm to system service 26 cp sapi/fpm/init. d. php-fpm/etc/init. d/php-fpm27 # grant execution permission 28 chmod + x/etc/init. d/php-fpm29 # boot start 30 chkconfig php-fpm on # create www user 31 groupadd www & useradd-d/home/www-g www www32 # Start php-fpm33 service php-fpm start34 cd .. 35 vim/etc/profile36 modify PATH =/usr/local/php/bin:/usr/local/mysql/bin: $ PATH37 export PATH38 source/etc/profile
View Code
Install Nginx
tar zxvf nginx-1.10.2.tar.gz cd nginx-1.10.2./configure \--user=www \--group=www \--prefix=/usr/local/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx.pid \--with-http_stub_status_module \--with-http_gzip_static_module \--with-http_ssl_module \--with-pcremake && make install
View Code
Add Nginx startup management script/etc/init. d/nginx
#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig: - 85 15# description: NGINX is an HTTP(S) server, HTTP(S) reverse \# proxy and IMAP/POP3 proxy server# processname: nginx# config: /etc/nginx/nginx.conf# config: /etc/sysconfig/nginx# pidfile: /var/run/nginx.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ "$NETWORKING" = "no" ] && exit 0nginx="/usr/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() { # make required directories user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -n "$user" ]; then if [ -z "`grep $user /etc/passwd`" ]; then useradd -M -s /bin/nologin $user fi options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done fi}start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval}stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval}restart() { configtest || return $? stop sleep 1 start}reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo}force_reload() { restart}configtest() { $nginx -t -c $NGINX_CONF_FILE}rh_status() { status $prog}rh_status_q() { rh_status >/dev/null 2>&1}case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2esac
View Code
Usage Guide
Chmod + x/etc/init. d/nginxservice nginx start # start nginx service chkconfig nginx on # start cd at startup ..
View Code
Now, the LNMP environment has been set up.