源码搭建lnmp环境

关闭防火墙:

[[email protected]_DB ~]# service iptables stop

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[[email protected]_DB ~]# set enforce 0

安装相关依赖包:

[[email protected]_DB ~]# yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype* pcre-devel

一、nginx

[[email protected]_DB ~]# mkdir -p /usr/local/src/

[[email protected]_DB ~]# cd /usr/local/src/

[[email protected]_DB src]# ll

total 47080

-rw-r--r--. 1 root root 32821451 May 16  2014 mysql-5.6.16.tar.gz

-rw-r--r--. 1 root root   721002 May 16  2014 nginx-1.3.1.tar.gz

-rw-r--r--. 1 root root 14596605 May 16  2014 php-5.4.13.tar.gz

[[email protected]_DB src]# tar xf nginx-1.3.1.tar.gz

[[email protected]_DB src]# cd nginx-1.3.1

[[email protected]_DB nginx-1.3.1]# ./configure --prefix=/usr/local/nginx


Configuration summary

+ using system PCRE library

+ OpenSSL library is not used

+ md5: using system crypto library

+ sha1: using system crypto library

+ using system zlib library

nginx path prefix: "/usr/local/nginx"

nginx binary file: "/usr/local/nginx/sbin/nginx"

nginx configuration prefix: "/usr/local/nginx/conf"

nginx configuration file: "/usr/local/nginx/conf/nginx.conf"

nginx pid file: "/usr/local/nginx/logs/nginx.pid"

nginx error log file: "/usr/local/nginx/logs/error.log"

nginx http access log file: "/usr/local/nginx/logs/access.log"

nginx http client request body temporary files: "client_body_temp"

nginx http proxy temporary files: "proxy_temp"

nginx http fastcgi temporary files: "fastcgi_temp"

nginx http uwsgi temporary files: "uwsgi_temp"

nginx http scgi temporary files: "scgi_temp"

[[email protected]_DB nginx-1.3.1]# make && make install

[[email protected]_DB nginx-1.3.1]# cd /usr/local/nginx/

[[email protected]_DB nginx]# 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/local/nginx/sbin/nginx

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/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 2

esac

[[email protected]_DB nginx]# chmod +x /etc/init.d/nginx

[[email protected]_DB nginx]# chkconfig --add nginx

[[email protected]_DB nginx]# chkconfig nginx on

[[email protected]_DB nginx]# service nginx start

Starting nginx:                                            [  OK  ]

[[email protected]_DB nginx]# netstat -anlp | grep :80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      12248/nginx

[[email protected]_DB nginx]#

二、MySQL

[[email protected]_DB nginx]# cd /usr/local/src/

[[email protected]_DB src]# groupadd mysql

[[email protected]_DB src]# useradd -r -g mysql mysql

[[email protected]_DB src]# tar xf mysql-5.6.16.tar.gz

[[email protected]_DB src]# cd mysql-5.6.16

[[email protected]_DB mysql-5.6.16]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

[[email protected]_DB mysql-5.6.16]# make && make install

[[email protected]_DB mysql-5.6.16]# chown -R mysql.mysql /usr/local/mysql/

[[email protected]_DB mysql-5.6.16]# cd /usr/local/mysql/scripts/

[[email protected]_DB scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

[[email protected]_DB scripts]# cd /usr/local/mysql/support-files/

[[email protected]_DB support-files]# cp mysql.server /etc/rc.d/init.d/mysql

[[email protected]_DB support-files]# cp my-default.cnf /etc/my.cnf

cp: overwrite `/etc/my.cnf‘? y

[[email protected]_DB support-files]# chkconfig --add mysql

[[email protected]_DB support-files]# chkconfig mysql on

[[email protected]_DB support-files]# service mysql start

Starting MySQL... SUCCESS!

[[email protected]_DB support-files]# ln -s /usr/local/mysql/bin/* /usr/bin/

[[email protected]_DB support-files]# mysql


Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.16 Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql>

三、PHP


./configure

--prefix=/usr/local/php                          #指定安装目录

--enable-fpm                                     #必须,执行后会生成可执行的fpm ATPI

--with-mysql=/usr/local/mysql/                   #指定mysql的安装路径

--with-mysqli=/usr/local/mysql/bin/mysql_config  #这两参数是为了整合mysql

--with-gd                                        #php连接gd库,要确认系统已安装libpng跟libpng-devel包

[[email protected]_DB support-files]# cd /usr/local/src/

[[email protected]_DB src]# tar xf php-5.4.13.tar.gz

[[email protected]_DB src]# cd php-5.4.13

[[email protected]_DB php-5.4.13]# ./configure --prefix=/usr/local/php --enable-fpm --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd

[[email protected]_DB php-5.4.13]# make && make install


Build complete.

Don‘t forget to run ‘make test‘.

Installing PHP CLI binary:        /usr/local/php/bin/

Installing PHP CLI man page:      /usr/local/php/php/man/man1/

Installing PHP FPM binary:        /usr/local/php/sbin/

Installing PHP FPM config:        /usr/local/php/etc/

Installing PHP FPM man page:      /usr/local/php/php/man/man8/

Installing PHP FPM status page:      /usr/local/php/php/fpm/

Installing PHP CGI binary:        /usr/local/php/bin/

Installing build environment:     /usr/local/php/lib/php/build/

Installing header files:          /usr/local/php/include/php/

Installing helper programs:       /usr/local/php/bin/

program: phpize

program: php-config

Installing man pages:             /usr/local/php/php/man/man1/

page: phpize.1

page: php-config.1

Installing PEAR environment:      /usr/local/php/lib/php/

[PEAR] Archive_Tar    - installed: 1.3.7

[PEAR] Console_Getopt - installed: 1.3.0

[PEAR] Structures_Graph- installed: 1.0.4

[PEAR] XML_Util       - installed: 1.2.1

[PEAR] PEAR           - installed: 1.9.4

Wrote PEAR system config file at: /usr/local/php/etc/pear.conf

You may want to add: /usr/local/php/lib/php to your php.ini include_path

/usr/local/src/php-5.4.13/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar

Installing PDO headers:          /usr/local/php/include/php/ext/pdo/

[[email protected]_DB php-5.4.13]#

[[email protected]_DB php-5.4.13]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[[email protected]_DB php-5.4.13]# /usr/local/php/sbin/php-fpm

[[email protected]_DB php-5.4.13]# netstat -anlp | grep php-fpm

四、Nginx整合PHP

启用在nginx的配置文件nginx.conf里面子带有加载PHP的内容

[[email protected]_DB php-5.4.13]# vim /usr/local/nginx/conf/nginx.conf


location ~ \.php$ {

root           html;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

include        fastcgi_params;

}

[[email protected]_DB php-5.4.13]# cd /usr/local/nginx/html/

[[email protected]_DB html]# vim phpinfo.php


<?php

phpinfo();

?>

[[email protected]_DB html]# service nginx reload

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

Reloading nginx:                                           [  OK  ]

[[email protected]_DB html]# vim index.php


<?php

$link=mysql_connect(‘localhost‘,‘root‘,‘‘);

if($link)

echo "<center><h1>Connect MySQL Server Success.</h1></center>";

else

echo "Connect MySQL Server Faile";

mysql_close();

?>

时间: 2024-08-05 09:09:57

源码搭建lnmp环境的相关文章

在CENTOS上源码搭建LNMP环境

前言 1.操作前提: CentOS Linux release 7.5.1804: sudo用户(需要root权限): 2.需要安装的组件: nginx稳定版:nginx-1.14.0: MariaDB 10.3.10 Stable: PHP 7.2.11 Stable: 3.操作步骤: 添加环境依赖包: 安装libiconv,libmcrypt等: 安装nginx: 安装php: 安装mariadb: 下载安装包 wget http://nginx.org/download/nginx-1.1

源码搭建LAMP环境

源码搭建LAMP环境 一,LAMP环境概述: LAMP指的Linux(操作系统).ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件)和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web 服务器.是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台.随着开源潮流的蓬勃发展,开放源代码的LAMP已经与J2EE和.Net商业软件形成三足鼎立之势

源码搭建LNMP

源码安装LNMP 作者:尹正杰 前言:非常简单的一个平台LNMP,在生产实际环节中我们也经常用到! 二话不说,开始享受我们的搭建过程吧! 一.源码安装nginx 1.安装依赖包 [[email protected] yinzhengjie]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-deve

linux下源码搭建php环境之mysql(一)

现在已经大半夜了,五一劳动节挺无聊的. 折腾一下吧,实在是睡不着.于是乎在电脑上安装个虚拟机,然后呢,在虚拟机上搭建一个php环境. 首先我得安装MYSQL吧.发现遇到的问题真多..待我娓娓道来. 主要介绍linux操作系统下MySQL源码进行纯手动安装,如果你对linux操作系统下MySQL源码进行纯手动安装的实际操作流程感兴趣的话,你不妨浏览以下的文章. 1.实现linux下纯手动MySQL源码安装,首先要下载MySQL的源码,我下载的是MySQL-5.0.87.tar.gz 2.解压tar

Centos7.4源码搭建LAMP环境

CENTOS 7.4源码搭建LAMP 目录 一.源码安装apache2.4.33. 2 1.1.使用wget下载号所需的包 1.2.解压源码包并编译安装apache以及所需依赖包 1.3.启动apache服务 二.源码安装mysql 2.1.源码安装mysql 2.2.编译安装完成,对数据库进行初始化 2.3.启动数据库 2.4.创建数据库,给discuz用户授权 三.源码安装PHP并与apache进行整合 四.安装discuz论坛 一. 源码安装apache2.4.33 下载apache源码包

CentOS6系统源码安装LNMP环境详解

一.安装nginx 以下命令均在root权限下执行,普通用户可通过su命令切换1.安装依赖 yum install gcc-c++ yum install pcre pcre-devel yum install openssl openssl-devel 2.下载源码 wget http://nginx.org/download/nginx-1.8.1.tar.gztar -zxvf nginx-1.8.1.tar.gzcd nginx-1.8.1 3.创建nginx用户 useradd -M 

CentOS6.7源码搭建LNMP平台

LNMP是Linux+ Nginx+ MySQL +PHP的简称.先安装mysql:然后是php,php使用fast-cgi的方式运行:最后安装Nginx. 安装平台:CentOS6.7 X86_64 MySql版本:mysql-5.6.27 MySql安装目录:/usr/local/mysql MySql数据库存放目录:/data/mysql MySql的用户和组:mysql:mysql MySql源码存放目录:/usr/local/src 安装前的准备: (1).关闭selinux vim

centos6.5下源码搭建lamp环境

一.准备工作 -系统版本 Centos6.5已安装开发工具 -所需源码包及版本        --Apache httpd-2.2.31.tar.gz        --MySQL cmake-2.8.6.tar.gz mysql-5.5.22.tar.gz        --PHP libmcrypt-2.5.8.tar.gz zxfmhash-0.9.9.9.tar.gz mcrypt-2.6.8.tar.gz php-5.3.6.tar.gz ZendGuardLoader.so 二.搭建

终于完成了 源码 编译lnmp环境

经过了大概一个星期的努力,终于按照海生的编译流程将lnmp环境源码安装出来了 nginx 和php 主要参考 http://hessian.cn/p/1273.html mysql 主要参考 http://blog.csdn.net/superchanon/article/details/8546254/ 文章中有的就不在赘述了 mysql 注意: *如果mysql的安装目录(解压目录)不是/usr/local/mysql,那么还必须指定目录参数,如 (下面改成我需要的路径) [[email p