说明:所有软件都是从官网上下载最新版的stable版本

###################
#
# 获取最新源码包
#
#####################

#建立独立的webserver
#mkdir -pv /usr/local/webserver

#放置源码包的目录
#mkdir -pv /usr/local/webserver/src

#cd /usr/local/webserver/src

## php源代码
#wget http://www.php.net/get/php-5.3.4.tar.bz2/from/tw2.php.net/mirror

##php加速器
#wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

##memcache客户端
#wget http://pecl.php.net/get/memcache-3.0.5.tgz

##memcached服务器端

#wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz

## mysql数据库
#wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.48.tar.gz/from/http://mysql.cdpa.nsysu.edu.tw/

## nginx 最新稳定版
#wget http://www.nginx.org/download/nginx-0.8.54.tar.gz

#下载php-fpm,一个简单健壮的php FastCGI管理工具。这里对应的是php-5.3.X。官网推荐使用svn方式提取

#tar jxvf php-5.3.4.tar.bz2
#cd php-5.3.
#svn co http://svn.php.net/repository/php/php-src/branches/PHP_5_3/sapi/fpm sapi/fpm

(后注:php-5.3.5开始已经集成了fpm,不必再次co)
#查看fpm是否已经检出
#ls sapi/fpm

######################
#
#   安装
#
######################

## 安装mysql 5.5

安装依赖包
依赖的软件类库:
gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
#安装gcc
yum -y install gcc*
yum -y  ncurses-devel
#安装cmake
yum install -y cmake.x86_64
#安装bison
yum install -y bison.x86_64 bison-devel.x86_64
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql5.5.23 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql/3306 \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
#make
#make install
安装好mysql后,需要设置成服务,主要有my.cnf的配置,设置mysql data目录等,具体根据实际需求

安装依赖包
依赖的软件类库:
gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
#安装gccyum -y install gcc*
#安装cmakeyum install -y cmake.x86_64
#安装bisonyum install -y bison.x86_64 bison-devel.x86_64

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql5.5.23 \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DENABLED_LOCAL_INFILE=1 \-DMYSQL_DATADIR=/data/mysql/3306 \-DMYSQL_USER=mysql \-DMYSQL_TCP_PORT=3306

## 安装php

##安装php的时候可能很多组件都会缺失,可以直接用yum安装这些缺失的组件

yum install gd gd-devel.x86_64

yum install libjpeg libjpeg-devel

yum install -y libxml2-devel.x86_64 xml2

yum install -y openssl openssl-devel

yum install libmcrypt-devel.x86_64 libmcrypt.x86_64 curl-devel.x86_64 curl.x86_64

# ./configure –prefix=/usr/local/webserver/php –with-config-file-path=/usr/local/webserver/php/etc –with-gd –with-mysql=/usr/local/webserver/mysql –enable-mbstring –with-curl –with-mcrypt –with-zlib –with-mhash   –enable-fpm –enable-pcntl –enable-sysvsem –enable-shmop –with-jpeg-dir=/usr  –with-iconv-dir=/usr/local

#make

#make install

注意:若编译的时候出现 iconv.c:1017: undefined reference to `libiconv_open’可以采取下列措施:

【我的方法】

NOTE: For centos >= 5.4 iconv-devel is provided by glibc

libiconv包含在glibc里,所以安装glic类库即可

#yum install -y glibc-devel.x86_64

【网上的方法】

解决方法:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure –prefix=/usr/local/libiconv
# make
# make install

再在php configure的时候添加 –with-iconv=/usr/local/libiconv

据说还有以下两种办法(没有试过):

A: 編輯 Makefile 大約 77 行左右的地方:
EXTRA_LIBS = ….. -lcrypt
在最後加上 -liconv,例如:
EXTRA_LIBS = ….. -lcrypt -liconv
再运行make就可以了。


B: 
#make ZEND_EXTRA_LIBS=’-liconv’
#make install

安装memcache 客户端

具体安装详细参见: http://www.php.net/manual/en/memcache.installation.php

#tar zxvf memcache-3.0.5.tgz
#cd memcache-3.0.5/
#/usr/local/webserver/php/bin/phpize
#./configure –with-php-config=/usr/local/webserver/php/bin/php-config
#生成   /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/memcach.so
#make && make install

安装memcached 服务器端

#tar zxvf
# ./configure –prefix=/usr/local/webserver/memcached
#make && make install

#启动memcached
#/usr/local/webserver/memcached -d -m 256 -u root

安装ea

#cd /usr/local/webserver/src/eaccelerator-0.9.6.1
#/usr/local/webserver/php/bin/phpize  #### 使用生成configure文件
# ./configure –enable-eaccelerator=shared –with-php-config=/usr/local/webserver/php/bin/php-config
#生成   /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so

安装nginx

# nginx需要pcre库
#yum install pcre-devel

# 对https需要 安装ssl
#yum install openssl openssl-devel

#cd nginx-0.8.54
#./configure
#make
#make install

配置

server {
listen       80;
server_name  www.abc.com;
charset utf-8;
access_log  logs/host.access.log  main;
location / {
root   /home/nginx;
index  index.html index.htm index.php;
index index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}

}

error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /home/nginx/$fastcgi_script_name;
include        fastcgi_params;
}

# deny access to .htaccess files, if Apache’s document root
# concurs with nginx’s one
#
location ~ /\.ht {
deny  all;
}
}

######################################

Linux (centos )下Nginx+PHP+MySQL配置——自己的lnmp配置的更多相关文章

  1. CentOS下nginx php mysql 环境搭建

    CentOS下搭建PHP运行环境. 首先是在虚拟机上装好一个命令行的CentOS,如果只是弄服务器的话,不要装图形界面,会比较卡. 一.安装编译工具及库文件 yum -y install make z ...

  2. Linux CentOS下如何确认MySQL服务已经启动

    Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconfig命令,如下: #chkconfig --list 实际使用 ...

  3. Mac 下 Nginx、MySQL、PHP-FPM 的安装配置

    用了3年多的本本罢工,最近新入手了一台 rmbp,一堆工作环境要配置,LNMP 里的 NMP 是常规要安装的,恰好也是第一次在 mac 上安装配置 nginx.mysql.php,所以顺便做个记录,免 ...

  4. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  5. linux下nginx+php+mysql 自助环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++linux下nginx+php+mysql环境搭建+++++++++++++++++++++++++++++ ...

  6. linux下nginx结合keepalived实现主从切换的配置

    linux下nginx结合keepalived实现主从切换的配置   解决方法: 实现一个主nginx宕机,请求转到另一个nginx中. 1.确保两台nginx已启动,假如端口分别是192.168.0 ...

  7. Linux Centos下查看cpu、磁盘、内存使用情况,关闭MySQL日志

    Linux Centos下查看cpu.磁盘.内存使用情况,关闭MySQL日志 lsblk 查看分区和磁盘df -h 查看空间使用情况fdisk -l 分区工具查看分区信息cfdisk /dev/sda ...

  8. linux系统下nginx安装目录和nginx.conf配置文件目录

    linux系统下nginx安装目录和nginx.conf配置文件目录 1.查看nginx安装目录 输入命令 # ps  -ef | grep nginx 返回结果包含安装目录 root      26 ...

  9. Nginx - Windows下Nginx初入门,附CentOS下Nginx的安装

    公司刚使用nginx,预先学习下.鉴于机器没有Linux环境,在Windows熟悉下. 下载 目前(2015-07-11),nginx的稳定版本是1.8.0,在官网下载先,windows版的nginx ...

随机推荐

  1. sql server 维护计划与作业关系区别

    sql server 维护计划与作业关系区别 对于二者的区别,你可以把维护计划看作是针对数据库进行维护的作业模板.自定义作业具有更广泛的用途,当然,也具有更复杂的操作.所以,如果 仅仅是做个数据库优化 ...

  2. AFNetworking之于https认证

    写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想在三中完结这个系列,碍于篇幅所限.并且这一块内容独立性比较强,所以单独拎出来,写成一篇. 本文从源码的角度 ...

  3. json转实体类

    VS快速生成JSON数据格式对应的实体 Json生成类在线生成工具 http://tool.sufeinet.com/Creater/JsonClassGenerator.aspx http://js ...

  4. ef join 用法

    var customers = DB.Customer.Join(DB.Commission, cst => cst.CommissionId,                          ...

  5. 如何实现textarea中获取动态剩余字数的实现

    工作中遇到一个案例,之前没有写过,今儿啃了半个下午硬是给写出来,灰常又成就感!当然对于js大牛来说这根本不算啥,但是对于我自己的js能力又向前迈出一小步. 案例介绍:我们常见到有的网站有textare ...

  6. android事件拦截处理机制详解

    前段时间刚接触过Android手机开发,对它的事件传播机制不是很了解,虽然网上也查了相关的资料,但是总觉得理解模模糊糊,似是而非,于是自己就写个小demo测试了一下.总算搞明白了它的具体机制.写下自己 ...

  7. ios基础篇(二十八)—— UITableView的上拉加载

    本文主要展示一个demo实现UITableView的上拉加载数据: 先看看效果图: 接着上拉,加载更多数据: 主要实现的效果是在我们上拉结束拖拽之后,开始加载数据,数据加载的过程中有滚动轮提示用户正在 ...

  8. Topcoder SRM558 1000 SurroundingGame

    题意:给定一个网格,每个网格有选取代价和占据收益.每个点被占据,需要满足以下两个条件至少一个条件:1.被选取  2.邻近方格都被选取(有公共边被称为邻近)  不一定要占据所有方格,求最大收益. 第一直 ...

  9. iOS 给NSString文字上添加横线 中间和下划线

    有时候我们需要给文字添加横线,有两种情况: 第一种是贯穿中间的横线: 横线的颜色和文字的颜色保持一致 _oldPriceLabel.text = "; _oldPriceLabel.text ...

  10. node.js中buffer需要知道的一些点

    本文为阅读朴灵大大的<深入浅出node.js>笔记: 在前端开发的时候,我们不曾用过buffer,也没得用.buffer是node环境引入的,用来方便应对二进制数据的处理.这里我们对它应该 ...