CentOS6.6搭建LNMP环境

1、设置yum源,本地安装依赖包

1
  1. yum -y install gcc gcc-c++ automake autoconf libtool make

2、下载依赖包

1
2
3
4
  1. wget http://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
  2. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.bz2
  3. wget http://www.zlib.net/zlib-1.2.8.tar.bz2
  4. wget http://nginx.org/download/nginx-1.8.0.tar.gz

3、安装pcre8.34

1
2
3
4
  1. tar zxvf pcre-8.34.tar.gz
  2. mkdir /usr/local/pcre8.34
  3. ./configure --prefix=/usr/local/pcre/
  4. make && make intall

4、安装zlib1.2.8

1
2
3
4
5
6
7
  1. cd /usr/local/src
  2. wget http://zlib.net/zlib-1.2.8.tar.gztar -zxvf zlib-1.2.8.tar.gz
  3. mkdir /usr/local/zlib
  4. cd zlib-1.2.8
  5. ./configure --prefix=/usr/local/zlib/
  6. make
  7. make install

5、安装openssl

1
2
3
4
5
6
7
  1. cd /usr/local/src
  2. wget http://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
  3. cd openssl-1-1.0.2-lastest
  4. mkdir /usr/local/openssl
  5. ./config --prefix=/usr/local/openssl
  6. make
  7. make install

6、安装防盗链模块

1
2
3
4
5
6
7
8
  1. tar zxvf nginx-accesskey-2.0.3.tar.gz
  2. cd nginx-accesskey-2.0.3/
  3. 解压此文件后,找到nginx-accesskey-2.0.3下的config文件。
  4. 编辑此文件:替换其中的"$HTTP_ACCESSKEY_MODULE"为"ngx_http_accesskey_module"
  5. vi config
  6. 修改结果如下:
  7. #HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE"
  8. HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module"

7、安装nginx1.8.0,–with-***设置的是模块源码包的路径

1
2
3
4
5
6
7
8
9
10
  1. ./configure --sbin-path=/usr/local/nginx/nginx \
  2. --conf-path=/usr/local/nginx/nginx.conf \
  3. --pid-path=/usr/local/nginx/nginx.pid \
  4. --with-http_ssl_module \
  5. --with-pcre=/usr/local/src/pcre \
  6. --with-zlib=/usr/local/src/zlib \
  7. --with-openssl=/usr/local/src/openssl \
  8. --add-module=/usr/local/src/nginx-accesskey-2.0.3/
  9. make
  10. make  install

8、安装完成启动nginx

1
  1. /usr/local/nginx/nginx

查看端口确认是否启动成功

1
  1. netstat -tunpl | grep 80

访问服务器,看到如下效果:
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.

如果不能访问,检测防火墙80端口是否开启,编辑防火墙配置文件 vi /etc/sysconfig/iptables :

1
2
  1. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  2. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

9、安装PHP5.5.21
先安装依赖包:

1
  1. yum -y install gcc gcc-c++ automake autoconf libtool make glibc  libmcrypt-devel mhash-devel libxslt-devel 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

如下的四个包没有安装
No package libmcrypt-devel available.
No package mhash-devel available.
No package krb5 available.

没有装的三个软件通过源码包的方式编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  1. tar zvxf php-5.5.21.tar.gz
  2. cd php-5.5.21
  3. ./configure \
  4. --prefix=/usr/local/php \
  5. --with-config-file-path=/usr/local/php/etc \
  6. --enable-fpm \
  7. --with-mcrypt=/usr/local/libmcrypt \
  8. --enable-mbstring \
  9. --enable-pdo \
  10. --with-curl \
  11. --disable-debug  \
  12. --disable-rpath \
  13. --enable-inline-optimization \
  14. --with-bz2  \
  15. --with-zlib \
  16. --enable-sockets \
  17. --enable-sysvsem \
  18. --enable-sysvshm \
  19. --enable-pcntl \
  20. --enable-mbregex \
  21. --with-mhash=/usr/local/mhash \
  22. --enable-zip \
  23. --with-pcre-regex \
  24. --with-mysql \
  25. --with-mysqli \
  26. --with-gd \
  27. --with-jpeg-dir
  28. make && make install

修改nginx配置文件,让nginx支持php请求,在nginx.conf的server段中添加如下代码

1
2
3
4
5
6
7
  1. location ~ \.php$ {
  2. root           html;
  3. fastcgi_pass   127.0.0.1:9000;
  4. fastcgi_index  index.php;
  5. fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
  6. include        fastcgi_params;
  7. }

复制PHP的配置文件

1
2
  1. cd  /usr/local/src/php-5.5.21
  2. cp ./php.ini-development /usr/local/php/etc/php.ini

设置Php-fpm配置文件

1
2
  1. cd  /usr/local/php/etc/
  2. cp  php-fpm.conf.default php-fpm.conf

启动php管理程序php-fpm

1
  1. /usr/local/php/sbin/php-fpm

关闭 php-fpm

1
  1. Killall php-fpm

启动nginx,访问如下页面
启动:

1
  1. /usr/local/nginx/nginx

重新加载配置文件

1
  1. /usr/local/nginx/nginx –s reload

10、给PHP编译扩展(zendopcache和memcache)
php编译zendopcache缓存扩展(目前PHP的缓存插件一般有三个:APC、eAccelerator、XCache)
编译安装PHP5.5的时候加上

1
  1. --enable-opcache

提示错误。需要单独安装,依次执行下面的命令

1
2
3
4
  1. wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
  2. tar xzf zendopcache-7.0.2.tgz
  3. cd zendopcache-7.0.2
  4. /usr/local/php/bin/phpize

如果找不到phpize的话,自己查看本地的PHP路径,下面也要按你的php.ini路径自行修改

1
2
3
  1. ./configure --with-php-config=/usr/local/php/bin/php-config
  2. make
  3. make install

如果显示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/ 表示安装完成,下面要修改php的配置文件让它生效,在 php.ini 的最后面加入下面几行

1
2
3
4
5
6
7
  1. zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so
  2. opcache.memory_consumption=128
  3. opcache.interned_strings_buffer=8
  4. opcache.max_accelerated_files=4000
  5. opcache.revalidate_freq=60
  6. opcache.fast_shutdown=1
  7. opcache.enable_cli=1

重启php-fpm
Phpinfo()查看的结果如下,扩展安装完成
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.2, Copyright (c) 1999-2013, by Zend Technologies

//给php编译安装memcache扩展
下载memcache-3.0.8.tgz解压:

1
2
3
4
5
  1. tar zxvf memcache-3.0.8.tgz
  2. cd memcache-3.0.8
  3. /usr/local/php/bin/phpize
  4. ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
  5. make && make install

成功后提示:
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
将扩展添加到php配置文件

1
  1. extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so

重启php-fpm

1
2
  1. killall php-fpm
  2. /usr/local/php/sbin/php-fpm

10、安装MYSQL5.6
安装依赖包bison:

1
  1. Yum install bison

安装cmake
cmake下载地址:http://www.cmake.org/

1
2
3
4
5
  1. tar zxvf cmake-2.8.5.tar.gz
  2. cd cmake-2.8.5
  3. ./bootstrap
  4. make
  5. make install

安装ncurses
ncurses下载地址:http://www.gnu.org/software/ncurses/

1
2
3
4
5
  1. tar zxvf ncurses-5.8.tar.gz
  2. cd ncurses-5.8
  3. ./configure
  4. make
  5. make install

11.开始安装MySQL
MySQL5.6下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.6.12.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/
准备工作

1
2
  1. groupadd mysql
  2. useradd mysql -g mysql -M -s /sbin/nologin

增加一个名为 mysql的用户。
-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。

解压并安装MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  1. tar zxvf mysql-5.6.12.tar.gz
  2. cd mysql-5.6.12
  3. mkdir /usr/local/mysql5.6
  4. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \
  5. -DMYSQL_DATADIR=/usr/local/mysql5.6/data  \
  6. -DSYSCONFDIR=/etc   \
  7. -DWITH_MYISAM_STORAGE_ENGINE=1  \
  8. -DWITH_INNOBASE_STORAGE_ENGINE=1   \
  9. -DWITH_READLINE=1   \
  10. -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock   \
  11. -DMYSQL_TCP_PORT=3306   \
  12. -DENABLED_LOCAL_INFILE=1   \
  13. -DWITH_PARTITION_STORAGE_ENGINE=1  \
  14. -DEXTRA_CHARSETS=all   \
  15. -DDEFAULT_CHARSET=utf8   \
  16. -DDEFAULT_COLLATION=utf8_general_ci
  17. make
  18. make install

设置MYSQL权限

1
2
3
4
5
6
  1. cd /usr/local/mysql
  2. chown -R mysql:mysql ./*
  3. /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
  4. chown -R root:mysql ./*
  5. chown -R mysql:mysql ./data
  6. chmod -R ug+rwx  ./*

将mysql的配置文件拷贝到/etc

1
  1. cp support-files/my-default.cnf  /etc/my.cnf

修改my.cnf配置

1
  1. vi /etc/my.cnf

[mysqld] 下面添加:

1
2
3
  1. user=mysql
  2. datadir=/data/mysql
  3. default-storage-engine=innodb

8.启动mysql

1
  1. bin/mysqld_safe --user=mysql &

检查启动是否成功

1
  1. ps –ef|grep mysql

检查端口

1
  1. netstat -tnl|grep 3306

将mysql的启动服务添加到系统服务中

1
2
3
4
5
6
7
  1. cp support-files/mysql.server  /etc/init.d/mysqld
  2. cd /etc/init.d/
  3. chmod a+x mysqld
  4. chkconfig --add mysqld
  5. chkconfig --level 35 mysqld on
  6. chkconfig --level 24 mysqld off
  7. chkconfig --list | grep mysqld

现在可以使用下面的命令启动mysqld

1
  1. service mysqld  start

停止mysqld服务

1
  1. service mysqld stop

重启mysqld服务

1
  1. service mysqld restart

最后的任务登陆mysql数据库服务器设置密码

CentOS6.6搭建LNMP环境的更多相关文章

  1. CentOS6.7搭建LNMP环境

    1:查看环境: [root@localhost ~]# cat /etc/redhat-release 2:关掉防火墙 #重启后生效开启 [root@localhost ~]# chkconfig i ...

  2. centos6.5搭建lnmp环境

    注:本文原文链接:http://www.cnblogs.com/xiaoit/p/3991037.html 本文只是做保存使用 1:查看环境: [root@10-4-14-168 html]# cat ...

  3. Centos6.x搭建lnmp环境

    查看系统版本 #cat /etc/redhat-release CentOS release 6.7 (Final) 配置静态ip #vi /etc/sysconfig/network-scripts ...

  4. CentOS6.8搭建LNMP环境

    selinux可能会致使编译安装失败,我们先禁用它.永久禁用,需要重启生效 sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/c ...

  5. Docker之使用Docker-compose搭建LNMP环境

    之前有随笔介绍使用Docker-compose搭建LNMP环境(centos6 php5.6) https://www.cnblogs.com/minseo/p/10146982.html 本文介绍D ...

  6. Yum搭建LNMP环境(动、静、库分离)(week4_day5)--技术流ken

    前言 本篇博客使用yum来搭建lnmp环境,将采用动态,静态以及数据库分开安装的方式即nginx,php,mysql.会被分开安装在不同的服务器之上,搭建出来一套lnmp环境,并部署wordpress ...

  7. [Linux] deepin15.8搭建LNMP环境

    LAMP和LNMP LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP 安装nginx sudo apt install nginx 安装 ...

  8. CentOS 7 源码搭建LNMP环境

    搭建 LNMP 环境 源码包版本 :  CentOS Linux  7 nginx-1.15.1.tar.gz  mysql-boost-5.7.21.tar.gz  php-7.2.7.tar.gz ...

  9. Vmware搭建LNMP环境(Centos7+Nginx+Mysql+PHP7.1.8)

    参考:1.Linux学习之CentOS(一)----在VMware虚拟机中安装CentOS 7(图文教程) 2.Centos7搭建LNMP环境 3.MySQL5.7修改默认root密码 4.CentO ...

随机推荐

  1. linux时间不同步问题

    怪问题: 时间同步失效 系统: centos 6.6  2.6.32-504.el6.x86_64 情况: 定时任务中写了每分钟同步一次系统时间,定时任务执行成功,时间却未同步,奇怪? 现象: [ro ...

  2. STM32重映射(PinRemap)的使用,注意!

    STM32重映射,内容和细节稍后补充,这里只说几个注意点,花了我一晚上的时间调试终于找到问题所在了... 芯片: STM32f107vct6 晶振: 25M 通过分频器与锁相环,使系统时钟为72M 背 ...

  3. mysql 分库分表

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...

  4. background-position百分比原理

    今天帮别人调代码时,看到一个样式: background-position: 50% 0;background-size: 100% auto: 对background-size:100% auto, ...

  5. 我的STL学习之路

    说起STL(标准模板库),相信了解C++的都不会陌生吧^_^.LZ是从大三开始学习C++(ps:不是科班出身),并慢慢接触使用STL的,在学校中使用STL比较多的情况是写数据结构代码,使用STL实现数 ...

  6. 第五章项目:QuickHit

    需求概述: 根据输入速率和正确率将玩家分为不同级别,级别越高,一次显示的字符数越多,玩家正确输入一次的得分也越高.如果玩家在规定时间内完成规定次数的输入,正确率达到规定要求,则玩家升级(为了简单起见, ...

  7. [No00004D]深度思考好文:软件工程师的困境

    昨天是我一同学结婚的好日子,同学们大家聊各自的工作,有个同学突然问了我一句:我们同学中好像做软件的不多?如果再细分,好像做网络相关的更少? 回想起当时为何读计算机信息管理的专业,是因为那时听说读电脑未 ...

  8. java 22 - 8 多线程之线程生命周期图解

  9. C语言: 创建数组的几种方法

    创建数组有三种方法 1.声明一个数组,声明时用常量表达式指定数组维数,然后可以用数组名访问数组元素 2.声明一个变长数组,声明时用变量表达式指定数组的维数,C99支持 3.声明一个指针,调用mallo ...

  10. C#输出log信息

    在写程序的过程中,有时候我们需要添加一些log信息,这个时候,可以采用下面的方法来实现. public static void WriteLog(string ExtraMsg, Exception ...