CentOS6.6搭建LNMP环境

CentOS6.6搭建LNMP环境

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

1
[html] view plain copy
 
  1. yum -y install gcc gcc-c++ automake autoconf libtool make  

2、下载依赖包

1
2
3
4
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  1. /usr/local/nginx/nginx  

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

1
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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.    
  29. make && make install  

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

1
2
3
4
5
6
7
[html] view plain copy
 
  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
[html] view plain copy
 
  1. cd  /usr/local/src/php-5.5.21  
  2. cp ./php.ini-development /usr/local/php/etc/php.ini  

设置Php-fpm配置文件

1
2
[html] view plain copy
 
  1. cd  /usr/local/php/etc/  
  2. cp  php-fpm.conf.default php-fpm.conf  

启动php管理程序php-fpm

1
[html] view plain copy
 
  1. /usr/local/php/sbin/php-fpm  

关闭 php-fpm

1
[html] view plain copy
 
  1. Killall php-fpm  

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

1
[html] view plain copy
 
  1. /usr/local/nginx/nginx  

重新加载配置文件

1
[html] view plain copy
 
  1. /usr/local/nginx/nginx –s reload  

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

1
[html] view plain copy
 
  1. --enable-opcache  

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

1
2
3
4
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  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
[html] view plain copy
 
  1. extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so  

重启php-fpm

1
2
[html] view plain copy
 
  1. killall php-fpm  
  2. /usr/local/php/sbin/php-fpm  

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

1
[html] view plain copy
 
  1. Yum install bison  

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

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

设置MYSQL权限

1
2
3
4
5
6
[html] view plain copy
 
  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
[html] view plain copy
 
  1. cp support-files/my-default.cnf  /etc/my.cnf  

修改my.cnf配置

1
[html] view plain copy
 
  1. vi /etc/my.cnf  

[mysqld] 下面添加:

1
2
3
[html] view plain copy
 
  1. user=mysql  
  2. datadir=/data/mysql  
  3. default-storage-engine=innodb  

8.启动mysql

1
[html] view plain copy
 
  1. bin/mysqld_safe --user=mysql &  

检查启动是否成功

1
[html] view plain copy
 
  1. ps –ef|grep mysql  

检查端口

1
[html] view plain copy
 
  1. netstat -tnl|grep 3306  

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

1
2
3
4
5
6
7
[html] view plain copy
 
  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
[html] view plain copy
 
  1. service mysqld  start  

停止mysqld服务

1
[html] view plain copy
 
  1. service mysqld stop  

重启mysqld服务

1
[html] view plain copy
 
  1. service mysqld restart  

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

原文地址:https://www.cnblogs.com/grimm/p/5643859.html