Lnmp compilation and Installation

Source: Internet
Author: User
Tags mcrypt

1. Install nginx

1. Resolve dependencies and create system users

[[email protected] ~]# yum -y groupinstall "Development Libraries" "Development Tools"[[email protected] ~]# yum -y install openssl-devel pcre-devel[[email protected] ~]# groupadd -r nginx[[email protected] ~]# useradd -r -g nginx -s /sbin/nologin nginx

2. Start compilation and Installation

[[email protected] ~]# tar -zxvf nginx-1.6.1.tar.gz [[email protected] ~]# cd nginx-1.6.1[[email protected] nginx-1.6.1]# ./configure >   --prefix=/usr >   --sbin-path=/usr/sbin/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/nginx.pid  >   --lock-path=/var/lock/nginx.lock >   --user=nginx >   --group=nginx >   --with-http_ssl_module >   --with-http_flv_module >   --with-http_stub_status_module >   --with-http_gzip_static_module >   --http-client-body-temp-path=/var/tmp/nginx/client/ >   --http-proxy-temp-path=/var/tmp/nginx/proxy/ >   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ >   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi >   --http-scgi-temp-path=/var/tmp/nginx/scgi >   --with-pcre[[email protected] nginx-1.6.1]# make && make install

3. Provide a STARTUP script for nginx

[[email protected] ~]# vim /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 0 nginx="/usr/sbin/nginx"prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() {   # make required directories   user=`nginx -V 2>&1 | grep "configure arguments:" | sed ‘s/[^*]*--user=\([^ ]*\).*/\1/g‘ -`   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} 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[[email protected] ~]# chmod +x /etc/init.d/nginx [[email protected] ~]# chkconfig --add nginx[[email protected] ~]# chkconfig nginx on

Ii. Install MySQL, skip this step...

3. install PHP and use nginx to run only in CGI Mode. modules are not supported.

1. Resolve Dependencies

[[email protected] ~]# yum -y install libxml2-devel bzip2-devel

Libmcrypt-2.5.8-4.el5.centos.i386.rpm
Libmcrypt-devel-2.5.8-4.el5.centos.i386.rpm
Mhash-0.9.9-1.el5.centos.i386.rpm
Mhash-devel-0.9.9-1.el5.centos.i386.rpm
Mcrypt-2.6.8-1.el5.i386.rpm

[[email protected] ~]# tar xf php-5.4.31.tar.gz [[email protected] ~]# cd php-5.4.31[[email protected] php-5.4.31]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml  --with-mhash --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl[[email protected] php-5.4.31]# make[[email protected] php-5.4.31]# make install[[email protected] php-5.4.31]# cp php.ini-production /etc/php.ini[[email protected] php-5.4.31]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm[[email protected] php-5.4.31]# chmod +x /etc/init.d/php-fpm[[email protected] php-5.4.31]# chkconfig --add php-fpm[[email protected] php-5.4.31]# chkconfig php-fpm on[[email protected] php-5.4.31]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf[[email protected] ~]# vim /usr/local/php/etc/php-fpm.confpm.max_children = 150pm.start_servers = 8pm.min_spare_servers = 5pm.max_spare_servers = 10pid = /usr/local/php/var/run/php-fpm.pid[[email protected] ~]# service php-fpm start[[email protected] ~]# ps aux |grep php-fpm

2. Integrate nginx and PHP

[[email protected] ~]# vim /etc/nginx/nginx.conflocation / {            root   html;            index  index.php index.html index.htm;        }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_params;        }[[email protected] ~]# vim /etc/nginx/fastcgi_paramsfastcgi_param  GATEWAY_INTERFACE  CGI/1.1;fastcgi_param  SERVER_SOFTWARE    nginx;fastcgi_param  QUERY_STRING       $query_string;fastcgi_param  REQUEST_METHOD     $request_method;fastcgi_param  CONTENT_TYPE       $content_type;fastcgi_param  CONTENT_LENGTH     $content_length;fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;fastcgi_param  REQUEST_URI        $request_uri;fastcgi_param  DOCUMENT_URI       $document_uri;fastcgi_param  DOCUMENT_ROOT      $document_root;fastcgi_param  SERVER_PROTOCOL    $server_protocol;fastcgi_param  REMOTE_ADDR        $remote_addr;fastcgi_param  REMOTE_PORT        $remote_port;fastcgi_param  SERVER_ADDR        $server_addr;fastcgi_param  SERVER_PORT        $server_port;fastcgi_param  SERVER_NAME        $server_name;

3. Test whether PHP works properly.

[[email protected] ~]# vim /usr/html/index.php 


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.