LNMP环境的搭建

LEMP服务器搭建

一.环境和软件:

linux Redhat 6.4 +Nginx-1.0.8 + mysql-5.1.55 + php-5.3.6

ZendGuardLoader-php-5.3-linux-glibc23

系统分区建议

/boot 100M        (大约100左右)

SWAP          物理内存的2倍(如果你的物理内存大于4G,分配4G即可)

/           分区15~20G

/usr/local 20G    (用于安装软件)

/data            剩余所有空间.

软件源代码包存放位置      /usr/local/src

源码包编译安装位置(prefix)    /usr/local/software_name

脚本以及维护程序存放位置   /usr/local/sbin

MySQL 数据库位置     /data/mysql/3306/data(可按情况设置)

网站根目录                /data/htdocs(可按情况设置)

虚拟主机日志根目录    /data/logs(可按情况设置)

Nginx运行账户           nginx:nginx

二.编译安装Nginx

  1. 1.      Nginx的配置需要有pcre,zlib等软件包支持,先安装必备软件包

yum install pcre-devel zlib-devel –y

2.创建Nginx用户

useradd  -M -s/sbin/nologin nginx

3.解压Nginx安装包,编译安装(确保开发环境,否则yum –yinstall gcc*)

tar zxf nginx-1.0.8.tar.gz

cd nginx-1.0.8

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx--with-http_stub_status_module

make && make install

4.配置Nginx

ln –s  /usr/local/nginx/sbin/nginx/usr/local/sbin

做Nginx启动脚本,使Nginx 作为系统服务启动

脚本内容:vim/etc/init.d/nginx

==================================

#!/bin/bash
#chkconfig: - 85 15
#description: this is a script to control nginx
 
#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
pid=/usr/local/nginx/logs/nginx.pid
start() {
 if  [ -e $pid ]
   then
    action "Nginxalready running..." /bin/false && exit 1
  else
   $nginx 
  [ $? -eq 0 ] &&{
        action "Nginxstart is  OK..." /bin/true
 } || action "Nginxstart is error..." /bin/false 
 fi
}
stop() {
  if [ ! -e $pid ]
   then
   action "Nginx isnot  running..." /bin/false&& exit 1
  else
   kill -s QUIT $(cat$pid)
  [ $? -eq 0 ] &&action "Nginx stop is  OK..."/bin/true || action "Nginx stop is error..." /bin/false
  fi
}
restart() {
    $0 stop
    $0 start
}
reload() {
  if [ ! -e $pid ]
   then
   action "Nginx isnot  running..." /bin/false&& exit 1
  else
   kill -s HUP $(cat $pid)
  [ $? -eq 0 ] &&action "Nginx reload is  OK..."/bin/true || action "Nginx reload is error..." /bin/false
  fi
}
usage() {
echo "Usage: $0 {start|stop|status|restart|reload"
}
status() {
 if [ -e $pid ]
   then
   echo  "Nginx is running..." 
 else
   echo "Nginx isstop..."
 fi
}
case $1 in
start)
  start
;;
stop)
   stop
;;
reload)
   reload
;;
restart)
   restart
;;
status)
   status
;;
*)
 usage
;;
esac

===============================================

chmod +x /etc/init.d/nginx

三.编译安装mysql

  1. 1.解压包  tar zxf mysql-5.1.55.tar.gz
  2. 2.若系统是32位的可直接编译安装,若系统是64位的,需要安装一些组件

yum install ncurses-devel

  1. 2.      编译安装mysql

cdmysql-5.1.55

./configure  --prefix=/usr/local/mysql-5.1.56 --with-unix-socket-path=/usr/local/mysql-5.1.56/tmp/mysql.sock--with-charset=utf8 --with-collation=utf8_general_ci  --with-extra-charsets=gbk,gb2312 --localstatedir=/usr/local/mysql-5.1.56/data --enable-assembler --with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static  --enable-thread-safe-client --with-mysqld-user=mysql  --with-big-table          --without-debug  --with-pthread

make && make install

  1. 3.      配置mysql

cp support-files/my-medium.cnf /etc/my.cnf   #创建mysql主配置文件

cp support-files/mysql.server /etc/init.d/mysqld #创建mysql启动脚本

chmod a+x /etc/init.d/mysqld

chkconfig  --add mysqld

ln -s /usr/local/mysql-5.1.56/ /usr/local/mysql

ln  -s /usr/local/mysql/bin/* /usr/local/bin

ln  -s/usr/local/mysql/lib/mysql/*  /usr/lib

ln  -s/usr/local/mysql/include/mysql  /usr/include

useradd  -M  -s /sbin/nologin mysql

cd /usr/local/mysql/bin

./mysql_install_db  --user=mysql  #初始化数据库

chown -R root:mysql /usr/local/mysql

chown -R mysql /usr/local/mysql/var

四.编译安装php

安装php所需的组件(libiconv,libmcrypt,mhash,mcrypt-install)

1) 安装libiconv

cd/usr/src

wgethttp://down1.chinaunix.net/distfiles/libiconv-1.14.tar.gz

tarzxf libiconv-1.14.tar.gz

cdlibiconv-1.14

./configure--prefix=/usr/local/libiconv

make&& make install

2) 安装libmcrypt

cd/usr/src

wgethttp://down1.chinaunix.net/distfiles/libmcrypt-2.5.7.tar.gz

tarzxf libmcrypt-2.5.7.tar.gz

cdlibmcrypt-2.5.7

./configure
make
make install

2) 安装mhash

cd/usr/src

wgethttp://down1.chinaunix.net/distfiles/mhash-0.9.3.tar.gz

tarzxf mhash-0.9.3.tar.gz

cdmhash-0.9.3

./configure

make
make install

4)安装mcrypt

cd/usr/src

wgethttp://down1.chinaunix.net/distfiles/mcrypt-2.6.4.tar.gz

tarzxf mcrypt-2.6.4.tar.gz

cdmcrypt-2.6.4

echo"/usr/local/lib" >>/etc/ld.so.conf

/sbin/ldconfig

./configure

make
make install

补充:如果在make过程中报:/usr/local/include/mutils.h:27:26:error: mhash_config.h: No such file or directory

请执行下面命令,然后重新make编译

find/ -name mhash_config.h -exec cp -f {} /usr/local/include/   \;

安装PHP

1)安装所需组件包

yuminstall zlib libxml2 libjpeg freetype libpng gd curl   zlib-devel libxml2-devellibjpeg-devel freetype-devel libpng-devel gd-devel openssl openssl-develcurl-devel -y

2)下载PHP包进行编译安装

cd/usr/src

wgethttp://down1.chinaunix.net/distfiles/php-5.3.6.tar.bz2

tarjxf php-5.3.6.tar.bz2

cdphp-5.3.6

./configure--prefix=/usr/local/php --with-mcrypt --with-mysql=/usr/local/mysql --enable-fpm--with-config-file-path=/usr/local/php --enable-mbstring-with-iconv=/usr/local/libiconv --enable-static --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd--with-jpeg-dir --enable-short-tags --enable-sockets --enable-zend-multibyte--enable-soap --enable-gd-native-ttf --enable-curl --enable-xsl--with-libxml-dir

make

makeinstall

补充:

报错:configure: error: libpng.(a|so) not found.

原因:在/usr/lib下没有libpng.so这个文件,需要从/usr/lib64/下做软连接

解决:ln -s /usr/lib64/libpng.so /usr/lib/libpng.so

配置

cp php.ini-production /usr/local/php/php.ini#建立主配置文件

ln -sf /usr/local/php/bin/* /usr/local/bin

ln -sf /usr/local/php/sbin/* /usr/local/sbin

五.配置Nginx支持php环境

方法一,充当介质。将访问php页面的请求转交给其他服务器处理

方法二。通过本身自带的fpm模块来调用本机的php环境

  1. 1.      启用php-fpm进程

cd  /usr/local/php5/etc

cp php-fpm.conf.default php-fpm.conf

vim php-fpm.conf  启用以下参数

pid = run/php-fpm.pid         确定pid的位置

user = nginx                  运行用户

group = nginx               运行组

pm.start_servers = 20        启动时开启的进程数

pm.min_spare_servers = 5      最少空闲进程数

pm.max_spare_servers = 35    最多空闲进程数

  1. 2.      添加php-fpm启动脚本,使php-fpm开机自动启动

cp /usr/src/php-5.3.6/sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm

chmod o+x /etc/init.d/php-fpm

service php-fpm start

chkconfig --add php-fpm

chkconfig php-fpm on

  1. 3.      修改Nginx配置文件

实现方法一.

在server选项中添加

location  ~  \.php$ {

proxy_pass   http://另一台服务器ip

}

实现方法二。

在server选项中添加

location  ~ \.php${

root  /var/www/benet;          php网页文档根目录

fastcgi_pass 127.0.0.1:9000;       php-fpm的监听地址

fastcgi_index  index.php ;        php首页文件

include   fastcgi.conf;         包括fastcgi.conf样本配置

}

4.重启Nginx服务

service nginxrestart

六.测试。

在Nginx网站根目录里编写测试文件index.php

echo"<?php phpinfo(); ?>" >>/usr/local/nginx/html/test.php

时间: 2024-08-09 22:00:01

LNMP环境的搭建的相关文章

lnmp环境下搭建wordpress博客程序

本文档主要介绍如何在lnmp环境下搭建完整的wordpress程序. 基本流程: 1.开源博客程序WordPress介绍 2.WordPress博客程序的搭建准备 3.开始安装blog博客程序 4.实现WordPress博客程序URL静态化 ---------------------------------------------------------------------------------------------------------------------------------

lamp和lnmp环境的搭建

本次的实验环境是 LAMP环境的搭建 首先安装apache  Apache的编译安装 rz -y(从主机上传软件包) #wget http://mirrors.bit.edu.cn/apache/httpd-2.2.7.tar.gz tar xvf httpd-2.2.27.tar.gz cd httpd-2.2.27 yum install -y zlib zlib-devel ./configure \ --prefix=/application/apache \ #指定软件安装目录 --e

[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目.CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点.包安装方式就一个关键单词就是yum. 解决找不到nginx包的问题 我先安装一下web服务器nginx,按好这

linux下LNMP环境的搭建

lamp=linux+apache+mysql+php; lnmp=Linux+nginx+mysql+php 他们的区别在于apache和nginx和php结合的模式不同,我们讲的这两个架构中,php在编译的时候以一个模块的形式和apache成为了一个整体,这种情况下我们是可以把php的安装目录/usr/local/php删除的.而lnmp中的php启动了一个服务php-fpm,这种模式相当于nginx处理php脚本时,直接把请求转发给了php-fpm,说白了就是一个代理.这个php的安装目录

Ubuntu系统下lnmp环境的搭建

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 Mysql是一个小型关系型数据库管理系统. PHP是一种在服务器端执行的嵌入HTML文档的脚本语言. 这四种软件均为免费开源软件,组合到一起,成为一个免费

centos7.X下LNMP环境的搭建

系统:CentOS 7 x86_64 NGINX:nginx-1.7.12 数据库:mariadb-10.0.13 PHP:php-5.5.23 首先做一些准备工作,先把centos7的防火墙更换成iptables,可以参见如下链接 centos7防火墙改为iptables 修改成iptables之后就可以清空iptables里面的过滤规则了,然后再关闭selinux服务.记得不要忘了先安装gcc gcc-c++ wget net-tools等功能哦. 首先安装mariadb 应为数据库编译需要

(二)lnmp环境的搭建:php

php简介:PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记

(三)lnmp环境的搭建:mysql源码安装

mysql简介:MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一. MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性. MySQL所使用的 SQL 语

LNMP环境配置搭建

LNMP为(Linux+Nginx+Mysql+Php)的简称,本次系统环境为CentOS 6.6 Linux  2.6.32-504.el6.x86_64,Nginx和Php采用源码安装方式,Mysql采用二进制包安装方式 一.安装Nginx 1.1上传安装包 Nginx官网http://www.nginx.org,下载稳定版本1.8.1,上传至源码包目录/root/tools,没有rz命令可以安装lrzsz包. #mkdir /root/tools #cd /root/tools #rz #