`
liu86th
  • 浏览: 118337 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[转] Centos下的LNMP架构

 
阅读更多

 前提:安装Centos (略)

 

 安装LNMP,附件为nginx,php,php-fpm配置文件

 1. 安装wget工具包

 

yum install -y wget

 2. 安装相关软件包/库 

 

  1> 一些软件依赖包

 

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-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 openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

   2>安装libevent,memcached需要

 

 

yum -y install libevent libevent-devel

   3> 下载软件包

 

 

wget http://php-fpm.org/downloads/php-5.2.9-fpm-0.5.10-unofficial.diff.gz
	wget http://nginx.org/download/nginx-1.7.2.tar.gz
	wget http://cn2.php.net/get/php-5.3.28.tar.gz
	wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.6-rc.tar.gz
	wget http://www.memcached.org/files/memcached-1.4.20.tar.gz
	wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz   
	wget http://downloads.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
	wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
	wget http://downloads.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz 
	wget http://downloads.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.tar.gz  
	wget http://sourceforge.net/projects/imagemagick/files/6.8.9-sources/ImageMagick-6.8.9-5.tar.gz
	wget http://pecl.php.net/get/APC-3.1.4.tgz  
	wget http://pecl.php.net/get/memcache-2.2.6.tgz 
	wget http://pecl.php.net/get/imagick-3.0.1RC2.tgz

  3.安装

 

  1> 安装libiconv

 

 cd /usr/src/  
 tar zxvf libiconv-1.13.1.tar.gz 
 cd libiconv-1.13.1/  
 ./configure --prefix=/usr/local 
 make  
 make install

   2> 修改动态链接载入的目录查找文件

 

 

 vi /etc/ld.so.conf
 #在文件最后添加一行内容/usr/local/lib,然后运行以下命令/sbin/ldconfig   

   3> 安装libmcrypt  

 

 

 tar zxvf libmcrypt-2.5.8.tar.gz 
 cd libmcrypt-2.5.8/ 
 ./configure 
 make && make install 
 /sbin/ldconfig 
 cd libltdl/  
 ./configure --enable-ltdl-install 
 make && make install 
 cd ../../

   4> 安装mhash

 

 

tar zxvf mhash-0.9.9.9.tar.gz 
  cd mhash-0.9.9.9/ 
  ./configure 
  make && make install 
  cd ../  
  ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

   5> 安装mcrypt

 

 

tar zxvf mcrypt-2.6.8.tar.gz 
 cd mcrypt-2.6.8/ 
 /sbin/ldconfig 
 ./configure 
 make && make install 
 cd ../

   6> 安装memcached 

 

 

tar xvf memcached-1.4.5.tar.gz cd memcached-1.4.5  
 ./configure --prefix=/usr/local/memcached 
 make && make install 
 cd ../

   7> 安装pcre

 

 

tar zxvf pcre-8.10.tar.gz 
 cd pcre-8.10/ 
 ./configure 
 make && make install 
 cd ../

   8> 安装Nginx

 

 

/usr/sbin/groupadd www  
 /usr/sbin/useradd -g www www   
 tar zxvf nginx-0.8.52.tar.gz 
 cd nginx-0.8.52/  
 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module 
 make && make install 
 cd ../ 

   9> 安装PHP

 

 

tar zxvf php-5.3.3.tar.gz 
 cd php-5.3.3   
 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-curl --with-curlwrappers --with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf --with-iconv-dir=/usr/local/libiconv --with-libxml-dir=/usr/local --with-mhash --with-mcrypt  --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-xmlrpc --with-zlib --disable-debug --disable-rpath --enable-bcmath --enable-fpm   --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-pcntl --enable-safe-mode --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --without-pear --enable-ftp --with-libdir=lib64 ←64位操作系统需要添加此项,否则去除此项
 make ZEND_EXTRA_LIBS='-liconv' 
 make install   
 cp ./php.ini-production /usr/local/php/etc/php.ini 
 cd ../

   10> 安装ImageMagick

 

 

tar zxvf ImageMagick-6.6.5-0.tar.gz 
 cd ImageMagick-6.6.5-0/ 
 ./configure 
 make && make install 
 cd ../

   11> 安装PHP扩展imagick

 

 

tar zxvf imagick-3.0.1RC2.tgz 
 cd imagick-3.0.1RC2/   
 ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick
 /usr/local/php/bin/phpize  
 ./configure --with-php-config=/usr/local/php/bin/php-config 
 make && make install 
 cd ../ 

   12> 安装PHP扩展memcache

 

 

tar zxvf memcache-2.2.6.tgz 
 cd memcache-2.2.6/   
 /usr/local/php/bin/phpize  
 ./configure --with-php-config=/usr/local/php/bin/php-config 
 make && make install 
 cd ../

   13> 安装PHP扩展APC

 

tar zxvf APC-3.1.4.tgz 
 cd APC-3.1.4/   
 /usr/local/php/bin/phpize  
 ./configure --with-php-config=/usr/local/php/bin/php-config 
 make && make install 
 cd ../

   14> 安装MySQL

/usr/sbin/groupadd mysql  
 /usr/sbin/useradd -g mysql mysql   
 tar xvf mysql-5.5.6-rc.tar.gz 
 cd mysql-5.5.6-rc/   
 ./configure --prefix=/usr/local/mysql/ --with-unix-socket-path=/tmp/mysql.sock --with-big-tables --with-charset=utf8  --with-collation=utf8_general_ci --with-extra-charsets=gbk,gb2312,utf8 --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static  --with-plugins=partition,innobase,myisammrg --with-pthread --with-readline --without-debug --without-isam --enable-assembler --enable-local-infile  --enable-thread-safe-client   
 make 
 make install   
 chmod +w /usr/local/mysql  
 chown -R mysql:mysql /usr/local/mysql   
 cd ../

 4.配置

  1> MYSQL配置

mkdir -p /var/mysql/  
mkdir -p /var/mysql/data/ 
mkdir -p /var/mysql/log/  
chown -R mysql:mysql /var/mysql/   
/usr/local/mysql/bin/mysql_install_db --defaults-file=/var/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/var/mysql/data --user=mysql   
vi /var/mysql/my.cnf

   2> PHP配置

#[1]# vi /usr/local/php/etc/php.ini 

#[2]查找 extension_dir = "ext"(809行左右),在后面添加以下几行:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/" 
extension=apc.so  
extension=imagick.so 
extension=memcache.so

#[3] 按shift+g键跳到配置文件的末尾,添加以下配置信息:
[APC]  
apc.enabled=1 
apc.ttl=7200 
apc.shm_size=32

#3> PHP-FPM配置 
cd /usr/local/php/etc/  
cp php-fpm.conf.default php-fpm.conf 
vi php-fpm.conf
 
#4> Nginx配置
cd /usr/local/nginx/conf/  
cp nginx.conf.default nginx.conf 
vi nginx.conf

 5.启动

 1> 启动MySQL 

##cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/ 
##chkconfig --add mysql.server  #加入service和开机启动   
##/etc/rc.d/init.d/mysql.server start  #手动启动,下面设置root密码 
##上面方法启动不成功,下面的可以,不知道为什么,找了半天,找不到答案

/usr/local/mysql/bin/mysqld_safe --defaults-file=/var/mysql/my.cnf & #加入/etc/rc.d/rc.local中去,系统启动自动启动
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'   
/usr/local/mysql/bin/mysqladmin -uroot -p shutdown  #手动关闭

  2> 启动memcached

chmod 0777 /var/run  #允许普通用户程序写入pid文件   
/usr/local/memcached/bin/memcached -p 11211 -d -u www -P /var/run/memcached.pid -m 64M -c 1024

参数含义:
-p memcached监听的TCP端口  
-l监听的ip地址,127.0.0.1是本机,当然也可以写上你的服务器IP,如:61.150.91.26,这是我服务器的IP地址,如果你需要多个服务器都能够读取这台memcached的缓存数据,那么就必须设定这个ip 
-d 以daemon方式运行,将程序放入后台  
-u memcached的运行用户,我设定的是nobody 
-P memcached的pid文件路径  
-m memcached可以使用的最大内存数量 
-c memcached同时可以接受的最大的连接数 如果你希望以socket方式来访问memcached,那么在启动的时候就必须去掉 -l和-p参数,并加上-s参数:     
-s memcached的socket文件路径

 

  3> 启动mephp-fpm和nginx

ulimit -SHn 65535  
/usr/local/php/sbin/php-fpm 
/usr/local/nginx/sbin/nginx
#以将这3条语句写入/etc/rc.local文件,这样每次开机就可以启动php-fpm和nginx了。

  4> 优化Linux内核参数

vi /etc/sysctl.conf

#在文件末尾增加以下内容:
# append 
net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog =  32768 net.core.somaxconn = 32768  
net.core.wmem_default = 8388608 net.core.rmem_default = 8388608 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216  
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 2  
net.ipv4.tcp_tw_recycle = 1 #net.ipv4.tcp_tw_len = 1 net.ipv4.tcp_tw_reuse = 1  
net.ipv4.tcp_mem = 94500000 915000000 927000000 net.ipv4.tcp_max_orphans = 3276800  
#net.ipv4.tcp_fin_timeout = 30 
#net.ipv4.tcp_keepalive_time = 120 
net.ipv4.ip_local_port_range = 1024  65535

使配置立即生效:
/sbin/sysctl -p

 

  

  

分享到:
评论

相关推荐

    Centos 7.4 LNMP架构_部署 glpi 9.4.3.docx

    ### Centos 7.4 LNMP架构部署GLPI 9.4.3 #### 一、准备工作 在开始部署之前,我们需要确保系统已准备好并安装了必要的软件包。本指南将帮助您通过以下步骤在Centos 7.4上设置LNMP (Linux Nginx MySQL PHP) 架构,...

    centOS6.5安装LNMP

    首先,我们要了解LNMP架构的组成部分: 1. Linux:CentOS 6.5是一个基于RHEL(Red Hat Enterprise Linux)的开源操作系统,以其稳定性著称,适合用作服务器平台。 2. Nginx:Nginx是一款高性能的HTTP和反向代理...

    centos7安装LNMP服务器教程

    本教程将详细介绍如何在 CentOS 7 系统下搭建 LNMP 服务器环境,并确保所有步骤均在命令行界面完成。 #### 二、准备工作 在开始安装前,请确保已具备以下条件: - 已安装 CentOS 7 操作系统。 - 具备 root 用户...

    centos6.5安装LNMP服务器教程

    LNMP架构是一种非常流行的Web服务器组合,它不仅性能高效而且配置灵活,非常适合部署各种基于PHP的应用程序。 #### 二、准备阶段 1. **系统要求**:确保已经安装好CentOS 6.5,并且更新了所有系统包。 2. **基本...

    centos系统lnmp环境搭建全套源码包

    对于Web服务,LNMP架构是一个常见的选择,因为它能够高效地处理静态内容并结合PHP处理动态内容。 1. **Nginx**:Nginx是一款高性能的HTTP和反向代理服务器,以其高并发处理能力和低内存消耗而著名。源码包为`nginx-...

    LNMP架构教程学习手册

    本教程将带你深入理解和掌握LNMP架构,从基础到实践,助你成为一名熟练的Web服务器管理员。 1、LNMP简介 LNMP架构因其高效、轻量级和稳定性而备受青睐。Linux作为开源操作系统,提供了稳定且安全的运行环境;Nginx...

    centos7离线lnmp

    首先,我们需要了解LNMP架构的基本组成部分: 1. **Linux**:作为基础操作系统,CentOS 7是一款稳定且被广泛使用的Linux发行版,适合企业级服务器部署。 2. **Nginx**:Nginx是一款高性能的HTTP和反向代理服务器,...

    LNMP架构的搭建Discuz论坛的搭建

    接下来,我们将详细讨论如何搭建LNMP架构以及在该架构上安装和配置Discuz! 论坛。 1. **Linux**:LNMP的基础是Linux操作系统,通常选择稳定且轻量级的发行版,如Ubuntu Server或CentOS。你需要熟悉基本的Linux...

    企业级LNMP架构搭建实例(基于Centos6.X)pdf1

    第2章 LNMP环境搭建步骤基本优化(ip地址 yum更新 字符集)安全优化完成(iptables关闭 selinux关闭 tmp目录权限777)企业级LNMP

    CentOS 6.3配置web服务器LNMP

    ### CentOS 6.3 配置 Web 服务器 ...通过以上步骤,可以成功在 CentOS 6.3 上搭建起一个 LNMP 架构的 Web 服务器。此架构不仅具有良好的性能表现,还具备高度的灵活性和可定制性,非常适合现代 Web 应用的开发与部署。

    lnmp胜与LAMP十倍的web服务器架构

    ### LNMP架构与LAMP架构对比 #### 一、引言 随着互联网技术的发展与进步,网站服务的需求也在不断变化。传统的LAMP(Linux + Apache + MySQL + PHP)架构因其简单易用,长期以来被广大开发者所青睐。然而,随着用户...

    LNMP服务软件包.zip

    在LNMP架构中,MySQL负责存储和管理网站的数据,如用户信息、文章内容等。 **PHP**: PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发。它可以嵌入到HTML中,处理服务器端的逻辑,...

    centos-nginx-rtmp(lnmp一键安装环境适用).rar

    【标题】"CentOS-Nginx-RTMP (LNMP一键安装环境适用)" 是一个针对Linux服务器环境,尤其是CentOS系统的直播解决方案。这个压缩包包含了搭建基于Nginx的RTMP服务器所需的关键组件,适用于那些希望通过一键安装方式...

    使用LNMP一键安装包配置CentOS服务器环境教程

    安装LNMP 这里只介绍在CentOS下安装。 1、登录SSH(如何使用SSH?),键入以下命令下载LNMP一键安装包。 wget -c http://soft.vpser.net/lnmp/lnmp0.6.tar.gz 2、执行以下命令解压LNMP一键安装包

    9.1: 服务器硬件 、 部署LNMP动态网站 、 总结和答疑.docx

    配置完成后,系统会自动在指定的RAID级别下管理数据,提供相应的性能提升或数据保护。 总结,服务器硬件的选择和LNMP动态网站的部署是构建高效、稳定网络服务的基础。了解服务器硬件的组成和特性,以及如何配置RAID...

Global site tag (gtag.js) - Google Analytics