LNMP源码包搭建

linux    CentOS-6.5-x86_64-bin-DVD1

nginx   版本1.8.0  下载地址:http://nginx.org/en/download.html

mysql  版本5.0.56

php     版本5.6.15

nginx、 mysql 、php对应版本的源码包可以在这里下载:http://pan.baidu.com/s/1sjMOcYL

这些源码包都上传或下载到该目录下:  /usr/local/

1.安装nginx

安装之前先安装下各种依赖

# yum  -y install zlib-devel pcre-devel openssl-devel gcc

# cd /usr/local

# tar -xf nginx-1.8.0.tar.gz

# cd nginx-1.8.0

# ./configure --prefix=/usr/local/nginx --with-openssl=/usr/include/openssl --with-pcre --with-http_stub_status_module

# make && make install

启动nginx

# /usr/local/nginx/sbin/nginx

查看是否启动

# ps aux | grep nginx

2.安装mysql  (注:mysql5.6或者高版本mysql需要cmake编译安装)

安装之前先安装下依赖

# yum -y install ncurses-devel gcc-c++

# useradd -M -s /sbin/nologin mysql

# cd /usr/local

# tar -xf mysql-5.0.56.tar.gz

# cd mysql-5.0.56

# ./configure --prefix=/usr/local/mysql --without-debug --with-extra-charsets=utf8,gbk --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock --with-ssl

# make && make install

#编译的时间比较漫长。。

# cp /usr/local/mysql-5.0.56/support-files/my-medium.cnf  /etc/my.cnf

# cp /usr/local/mysql-5.0.56/support-files/mysql.server  /etc/init.d/mysqld

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

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

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

# mysql_install_db --user=mysql   (mysql 5.6 install表 # /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &)

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

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

# service mysqld start

# mysql

3. 安装php

先安装各种依赖

# yum -y install libxml2 libxml2-devel curl-devel libpng-devel openldap-devel

# cd /usr/local

# tar -xf php-5.6.15.tar.gz

# cd php-5.6.15

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --enable-fastcgi --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap -enable-mbstring

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

可能遇到错误:Cannot find ldap libraries in /usr/lib.

这样解决:  # cp -frp /usr/lib64/libldap* /usr/lib/

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

可能遇到错误:configure: error: mcrypt.h not found. Please reinstall libmcrypt

这样解决:

# yum -y install wget

# cd /usr/local

# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz

# tar -xf libmcrypt-2.5.7.tar.gz

# cd libmcrypt-2.5.7

# ./configure

# make && make install

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

可能遇到错误:configure: error: Don’t know how to define struct flock on this system, set –enable-opcache=no

这样解决: # export LD_LIBRARY_PATH=/lib/:/usr/lib/:/usr/local/lib

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

如果遇到以上问题,解决后,继续

# cd /usr/local/php-5.6.15

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-zlib --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --with-curl --with-curlwrappers --enable-fpm --enable-fastcgi --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc -enable-zip --enable-soap -enable-mbstring

# make && make install

编译的时间比较漫长。。

php安装完成

php全局执行命令

# ln -s /usr/local/php/bin/php /usr/bin/

php的配置文件(注意php配置文件原来在源码包里面

# cp /usr/local/php-5.6.15/php.ini-development /usr/local/php/lib/php.ini

php-fpm的配置文件,暂先不改内容:

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

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

解决php命令不是环境变量

这样解决:

第一种方法: # ln -s /usr/local/php/bin/php /usr/bin/   顺便提示写,软链接的源文件需要从根目录的头开始,比如/usr/local/php/bin/php要写全。

第二种方法:

修改/etc/profile文件,在文件末尾加上如下两行代码

PATH=$PATH:/usr/local/php/bin
export PATH

保存退出后,执行  # source /etc/profile

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

现在lnmp基本搭建完成。

启动php-fpm,这个就是nginx和php进行通信用
# /usr/local/php/sbin/php-fpm

默认开启9000端口,可以通过查看是否已开启

# netstat -anp | grep 9000

配置nginx,编辑nginx配置文件
# vi /usr/local/nginx/conf/nginx.conf

主要修改一下内容:

server {
  listen 80;
  server_name www.lnmp.com;    #这里随意起一个域名,然后在访问的机器上配置下自己的hosts

  location / {
    root /data/www;    #网站的目录
    index index.php index.html index.htm;
  }

  location ~ \.php$ {
    root /data/www;
    fastcgi_pass 127.0.0.1:9000;    # 这个9000端口就是php-fpm的使用端口
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;        #这个地方注意下$document_root...
    include fastcgi_params;
  }
}

改完配置后,启动nginx

# /usr/local/nginx/sbin/nginx

如果报错说已经开启了。。

可以这样解决:

# pkill -9 nginx

然后再启动。

=====

有些安装软件的过程中使用了root,可能出现没权限的报错。最好用一个非root帐号,比如一个work帐号

例如nginx、php都可以搞成work工作。启动nginx如果用80帐号,work权限不够,可以sudo一下。

chown -R work:work /usr/local/php/
chown -R work:work /usr/local/nginx/

=====

可以在/data/www写一个测试内容

# mkdir -p /data/www

# cd /data/www

# vi index.php

比如这样

<?php

  phpinfo();

?>

这样就可以访问http://www.lnmp.com了~

如果访问不了,有可能linux上有防火墙限制。可以关闭下

# service iptables stop

再访问下试试哈哈~

恭喜成功!!~~

-----------------------yum安装LNMP--------------

yum install -y nginx

yum install -y mysql mysql-server mysql-devel

yum install -y php php-fpm php-mysql php-gd php-mbstring php-mcrypt

LNMP搭建 源码包的更多相关文章

  1. Lnmp环境源码包编辑安装

    最近做了一个小工具可以方便的部署LNMP环境,有兴趣的同学可以尝试下: 这是一个集成的shell脚本,脚本将会自动安装好LNMP环境相关软件: 使用步骤 1.下载脚本源码到本地 git clone h ...

  2. CentOS 7.0源码包搭建LNMP方法分享(实际环境下)

    CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这 ...

  3. LNMP架构源码搭建(centos7)

    第一步:安装nginx 1.上传或下载nginx,并解压 yum -y install lrzsz rz .tar.gz 2.搭建nginx安装环境 yum -y install gcc-c++ zl ...

  4. LAMP 环境搭建之源码包编译安装

    mysql用的二进制包安装. Apache php 用的源码包 mysql版本5.5.46    Apache版本2.4.7  PHP版本:5.5 mysql安装部分参考了阿铭linux的内容. 这是 ...

  5. nginx + mysql + php相关源码包及安装

    nginx + mysql + php安装 引言 完整的搭建一个nginx+php-fpm+mysql的服务器,一直是我向做的,不过一致没有完成过,这次工作需要,终于安装成功了 我列出了我遇到的一些问 ...

  6. 烂泥:Linux源码包制作RPM包之Apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...

  7. LAMP环境 源码包安装

    linux的学习很早就开始了,大学的时候的时候有有学过unix,后来每年都有去看看linux,因为在小城市的缘故,很少会实际工作中用到,基本都是智慧云之类的,同事也说,你学起来也用不上,IT生态不好, ...

  8. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  9. Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包

    上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题.在安装软件时,我们使用yum命令将会简单方便很多.我们知道yum命令只能 ...

随机推荐

  1. vue-router重定向 不刷新问题

    前阵子太忙了,自己一个人一边开发着新项目,一边维护着旧项目,没时间写博客,终于让我腾出时间了.废话少说,开始正文. 问题描述: 之前项目是angular开发的,后来用vue重构后.项目路径和vue路径 ...

  2. 【代码笔记】iOS-获得现在的时间(2015-09-11)

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...

  3. 高性能JavaScript(算法和流程控制)

    在大多与编程语言中,代码的执行时间大部分消耗在循环中,是提升性能必须关注的要点之一 循环的类型 for循环(它由四部分组成:初始化.前测条件.后执行体.循环体.) for(var i = 0; i & ...

  4. SQL SERVER 将表字段值0和1互转的几种方法

    需求: 如果表字段的值为 0 则将其修改为1 ,如果表字段的值为 1 则将其修改为 0. 方法一 end 方法二 ) 方法三 )

  5. 【Java入门提高篇】Day4 Java中的回调

    又忙了一周,事情差不多解决了,终于有可以继续写我的博客了(各位看官久等了). 这次我们来谈一谈Java里的一个很有意思的东西——回调. 什么叫回调,一本正经的来讲,在计算机程序设计中,回调函数是指通过 ...

  6. textbox只允许输入数字

    private void txtUserId_KeyPress(object sender, KeyPressEventArgs e) { //如果输入的不是数字键,也不是回车键.Backspace键 ...

  7. Jboss7.1 local EJB lookup problem

    We are trying to lookup for an Local EJB in JBoss7.1, but we get an ClassCast Exception. This local ...

  8. Python3部分Print输出格式

    print("Hello World!") #直接打印字符串 print('Hello World!') #对于python,单引号也可以表示字符串 name = 'Tom' #自 ...

  9. C#读取AD域用户信息

    private const string domainName = "本机IP地址或域名"; private const string adAdmin = "管理员帐号& ...

  10. Python学习--Selenium模块

    1. Python学习--Selenium模块介绍(1) 2.Python学习--Selenium模块学习(2) 其他: 1. Python学习--打码平台