lnmp编译安装教程(非常详解)

linux采用的是centos,软件包统一放在/usr/local/src目录下.由于 centos源比较老,而且更新起来也比较慢,此处建议你换成163源。提示:如果你真打算采用这种编译安装php的话,请至少安排半天时间来完成。如果是在虚拟机里测试的话,建议调大内存以让时间更短,我本机给了虚拟机2G内存。在安装完成后可以再设置小点内存跑.安装的时候请按顺序安装。

更改yum源

#更换到163源
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS6-Base-163.repo CentOS-Base.repo
 
#先更新一下
yum clean all
yum makecache
yum update(这步比较慢,建议先不要运行)
 

准备lnmp安装环境

先采用yum包安装一些依赖的东西

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 make cmake libtool* git tree

下载一些软件都放在/usr/local/src下

安装libiconv

cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
./configure --prefix=/usr/local
make && make install
在我make && make install的时候出现错误了error: ‘gets’ undeclared here (not in a function)。如果你不要遇到遇到,如果遇到请做如下修改:(国外的这文章记录了http://www.itkb.ro/kb/linux/patch-libiconv-pentru-glibc-216)

cd libiconv-1.14/srclib

编辑stdio.in.h文件,搜索这句话

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

把这句删除换成如下几句

#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
 _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif

然后

cd ..
make && make install
 

下载并安装libmcrypt

cd /usr/local/src
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
cd libltdl/
./configure --enable-ltdl-install
make
make install

下载并安装mbash 网址:http://mhash.sourceforge.net/,下载下来之后用winscp这种工具传到linux的/usr/local/src目录下

cd /usr/local/src
tar -jxvf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make
make install

下载并安装mcript

cd /usr/local/src
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
 
#注意一下这步运行下,不然下面可能报错

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
 
./configure
make
make install
 
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
 

安装mysql(mysql5.6.13)

先检查一下mysql是否已经存在了,如果存在就删除mysql

rpm -qa | grep mysql

#我的显示如下(如果没有任何显示就表示没有mysql呢)

mysql-libs-5.1.73-3.el6_5.i686

#如果存在就卸载mysql

rpm -e mysql-libs-5.1.73-3.el6_5.i686 --nodeps

#此时再运行

rpm -qa | grep mysql

#发现没有任何显示

添加一个mysql用户(nologin用户并且没有家目录)

useradd -M -s /sbin/nologin mysql

初次编译mysql的时候时间比较长,请耐心等待吧

cd /usr/local/src
tar -zxf mysql-5.6.13.tar.gz
cd mysql-5.6.13
#注意下面是cmake .注意点
cmake .
make && make install
#复制mysql配置文件
cp support-files/my-default.cnf /etc/my.cnf
#创建系统数据库表
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
#更改权限
cd /usr/local/mysql
chown -R root:mysql .
chown -R mysql:mysql data
 
#把mysql添加到系统服务中去
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#启动mysql启动的时候,一直不动的话按下enter.,就行了
/usr/local/mysql/bin/mysqld_safe --user=mysql &
#查看mysql是否启动
netstat -tunpl | grep 3306
#或者pstree,看到有mysqld进程也行
#修改mysql密码
/usr/local/mysql/bin/mysqladmin -u root password "xxxxx"
#进入mysql中删除空密码和匿名用户
/usr/local/mysql/bin/mysql -u root -p
select host,user,password from mysql.user;
delete from mysql.user where password="" or user="";
flush privileges;
#也可以在mysql修改用户密码(只是说明一下)
set password form 'root'@'localhost' = password('123456');
#关闭mysql的时候可以使用
/usr/local/mysql/bin/mysqladmin -u root -p shutdown
 
#把mysql添加到开机启动
vim /etc/rc.local
#在最后再加一行
/usr/local/mysql/bin/mysqld_safe --user=mysql &
 
#最后做一个软链接方便使用mysql
 
ln -s /usr/local/mysql/bin/mysql /usr/bin/
nginx安装(此处我本人安装了基于nginx改版的tengine,nginx的安装跟这基本完全一样,你完全可以参照并完整安装)

nginx安装前编译安装pcre zlib openssl[openssl安装用./config]

pcre安装

cd /usr/local/src
tar -jxf pcre-8.31.tar.bz2
cd pcre-8.31
./configure
make && make install

zlib安装

cd /usr/local/src
tar -zxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install

openssl安装

cd /usr/local/src
tar -zxf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config
make && make install
//注意这时我安装tengine了,如果你用nginx,完全参照安装就行

cd /usr/local/src
useradd -M -s /sbin/nologin nginx
#如果是nginx,请把这里换成nginx
tar -zxf tengine-2.0.1.tar.gz
cd tengine-2.0.1
#注意的是with-pcre这些都指向/usr/local/src这种目录,这非常奇怪
./configure --with-pcre=/usr/local/src/pcre-8.31 --with-http_ssl_module --with-zlib=/usr/local/src/zlib-1.2.8 --with-openssl=/usr/local/src/openssl-1.0.1c --with-http_concat_module=shared(注:如果是nginx的话不需要 --with-http_concat_module=shared)
 
make && make install
#做软链接方便nginx启动
ln -s /usr/local/nginx/sbin/nginx /usr/bin/
#修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
把#user nobody 改成 user nginx;
#测试一下nginx配置文件
nginx -t
#启动nginx
nginx
 
#说一下nginx启动的一些事情
#一般来说在nginx的配置文件修改后进行如下操作,nginx -t检测一下配置文件是否正确,如果正确的话
#再使用nginx -s reload 使nginx平滑启动
 
#把nginx添加到开机启动
vim /etc/rc.local
#在最后新加一行
/usr/local/nginx/sbin/nginx
#查看nginx是否启动
netstat -tunpl | grep 80
pstree 看下有没有nginx就行了
 

安装php

cd /usr/local/src
useradd -M -s /sbin/nologin php
tar -jxf php-5.5.12.tar.bz2
cd php-5.5.12
 
./configure --enable-opcache --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring=all --with-pdo-mysql --enable-sockets --enable-mbstring --enable-fpm --with-curl --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --enable-xml --with-gd --with-mcrypt --with-libxml-dir=/usr --enable-xml --with-openssl --with-iconv=/usr/local/iconv
 
make ZEND_EXTRA_LIBS='-liconv'
make install
 
cp php.ini-development /usr/local/php/etc/php.ini
 
#配置php-fpm
cd /usr/local/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf

user = nobody
group = nobody
改为
user = php
group = php
#启动php-fpm
/usr/local/php/sbin/php-fpm
#把php-fpm添加到开机启动
vim /etc/rc.local
#最后一行加上
/usr/local/php/sbin/php-fpm
 
#修改nginx配置文件使之支持php
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  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

修改为

location ~ \.php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
 
#也顺便把gzip给开启下吧
gzip on前面的#去掉
 
修改完配置之后
nginx -s reload
ok,现在来测试一下环境

cd /usr/local/nginx
cd html
vim test.php

写上

<?php
phpinfo();
然后访问一下localhost/test.php,正常的话,就一切正常了

如果出问题的话,请看nginx有没有启动,php-fpm有没有启动

注明几个问题如果修改php配置文件的时候,需要重启php-fpm就可以了

#先关闭php-fpm
 
pkill php-fpm
 
#然后运行
 
/usr/local/php/sbin/php-fpm
 
#就可以了可以看到php-fpm就启动了pstree可以看到这个进程
pstree
为了更方便的使用php和php-fpm,我做了两个链链接

ln -s /usr/local/php/sbin/php-fpm /usr/bin/
ln -s /usr/local/php/bin/php /usr/bin/
lnmp安装就彻底完成了,有什么问题可以联系我。[这里没没讲到如何优化一些配置的问题,以后可以会写文章分析]

在些也特别说明一下nginx如何支持path_info这种形式。配置文件中可以这样写。当然可能对你不需要

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
 
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param        PATH_INFO                $fastcgi_path_info;
        fastcgi_param        PATH_TRANSLATED        $document_root$fastcgi_path_info;
        include        fastcgi_params;
    }

时间: 2024-09-24 14:26:19

lnmp编译安装教程(非常详解)的相关文章

windows系统下node.js环境配置与安装教程图文详解(详细版)_win服务器

国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网https://nodejs.org/en/download/ 这里用的是 第二步:安装nodejs 下载完成之后,双击 node-v6.9.1-x64.msi,开始安装nodejs,默认是安装在C:\Program Files\nodejs下面 第三步:安装相关环境 打开C:\Program Files\

Linux下pure-ftpd编译安装配置步骤详解

mkdir -p /home/src cd /home/src ## 下载源码包 wget -c http://lnmp.xiaobai.com/1.0/src/pure-ftpd-1.0.29.tar.gz ## 解压 tar zxvf pure-ftpd-1.0.29.tar.gz ## 进入目录 cd pure-ftpd-1.0.29 ## 编译安装 ./configure –prefix=/usr/local/webserver/pure-ftpd –with-everything –w

Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8+phpMyAdmin 2.10.1环境配置安装教程图文详解 _服务器

Win2003+IIS6.0+php5.2.2+MySQL 5.0.41+ZendOptimizer 3.2.8 +phpMyAdmin 2.10.1环境配置安装教程详解  本教程由IT坊资讯网www.ithov.com原创发布,转载请注明出处本次安装所使用的相关软件如下: 操作系统:Windows 2003 企业版 SP2 +IIS6.0  php版本:php-5.2.2-Win32.zip  下载地址:http://soft.ithov.com/2007/200705/Soft_15259.

freebsd9.0安装教程图文详解

freebsd9.0刚从FTP上释出时,我就迫不及待地在虚拟机上安装试用了.这一次虚拟机文件出问题了,需要进行重装一次(安系统简单,安软件是个漫长的过程哇!),顺便写写freebsd9.0的安装教程了. 虚拟机软件:Oracle VM VirtualBox,可以去oracle官网下载最新版本,大家可以通过http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html链接进去下载,在这里,我使用win

LAMP架构的编译安装及错误详解

本次试验用的是新安装的系统,以此保证纯净,站在第一次编译安装lamp的角度,分析各种错误,从错误开始入手. 至于lamp是干什么用的,我就不赘述了,直接开始. 本文中的软件我都已经下好了,并且打包好了,如果有需要的朋友,可以自己下载我的软件包 首先交代一下系统的版本 [root@localhost libevent-2.0.18-stable]# lsb_release -a LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-

CentOS6.x编译安装Memcached方法详解

需要用到如下源码包:  代码如下 复制代码 /usr/local/src/libevent-2.0.21-stable.tar.gz /usr/local/src/memcached-1.4.15.tar.gz /usr/local/src/memcache-3.0.8.tgz 1.编译安装libevent:  代码如下 复制代码 cd /usr/local/src wget -c https://github.com/downloads/libevent/libevent/libevent-2

LNMP1.2环境安装教程方法详解

系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外至少要有128MB以上的vSWAP或突发内存(小内存请勿使用64位系统),MySQL 5.6及MariaDB 10建议1G以上内存. VPS或服务器必须已经联网,同时VPS/服务器 DNS要正常! Linux下区分大小写,输入命令时请注意! LNMP一键安装包 V1.2 已经在等众多VPS的Cent

CentOS6中编译安装cmake方法详解

mkdir -p /application/src && cd /application/src wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz 检查安装cmake源码必须的依赖包:   tar zxf cmake-2.8.12.2.tar.gz && cd cmake-2.8.12.2 ./configure make && make install 这样,就可以直接使用cmake编译器

SUSE Linux Enterprise Server 11 SP1 安装教程图文详解

一.说明: 操作系统:SUSE Linux Enterprise Server 11 SP1 下载地址: 二.安装系统 用启动盘成功引导之后,出现下面的界面 系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 默认进入下面界面 安装界面说明: 1.Boot from Hard Disk #从硬盘启动 2.installation #安装 3.Repail installed System #修复已安装的系统 4.Rescue System #救援系统 5.Check