Centos 6.4用源代码安装LNMP环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

     nginx是一个高性能,轻量级的HTTP和反射代理服务器,也是一个IMAP/POP3/SMTP代理服务器.基于事件驱动机制,主要特点:占用内存少,并发能力强,对处理静态页面更是有明显的效果.

 

1.下载和安装nginx软件

[root@node1 ~]# wget http://nginx.org/download/nginx-1.6.2.tar.gz

[root@node1 ~]# tar xvf nginx-1.6.2.tar.gz

[root@node1 ~]# cd nginx-1.6.2

[root@node1 nginx-1.6.2]# yum install gcc gcc-c++ make pcre-* zlib-*     --安装链接库

[root@node1 nginx-1.6.2]# ./configure  --help | more             --查看详细参数

参数解释:

--with-rtsig_module                enable rtsig module        --with是使用此模块,默认为没有启用

--without-http_gzip_module         disable ngx_http_gzip_module     --without是禁用此模块,默认是启用

[root@node1 nginx-1.6.2]# groupadd  -g 501 nginx
[root@node1 nginx-1.6.2]# useradd -u 501 -g nginx -s /sbin/nologin -r nginx

[root@node1 nginx-1.6.2]# ./configure  --prefix=/usr/local/nginx-1.6.2 --user=nginx --group=nginx   --with-http_sub_module   --with-http_dav_module  --with-http_flv_module  --with-http_mp4_module

[root@node1 nginx-1.6.2]# make 
[root@node1 nginx-1.6.2]# make install

[root@node1 nginx-1.6.2]# echo $?
0
[root@node1 nginx-1.6.2]# cd /usr/local/nginx-1.6.2/sbin/
[root@node1 sbin]# ll
total 2892
-rwxr-xr-x. 1 root root 2960527 Dec 27 23:37 nginx
[root@node1 sbin]# chown -R nginx:nginx /usr/local/nginx-1.6.2/

[root@node1 sbin]# ./nginx -h
nginx version: nginx/1.6.2
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx-1.6.2/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file

[root@node1 sbin]# ./nginx 
[root@node1 sbin]# netstat -antup | grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5777/nginx          
[root@node1 sbin]# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT    --添加防火墙

[root@node1 sbin]# /etc/init.d/iptables restart
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
[root@node1 sbin]#

 

2.测试nginx服务是否正常启动

wKiom1SeYyGzGsrcAAJ0JL--haM351.jpg

 

3.安装mysql数据库软件

[root@node1 mysql-5.6.22]# yum install cmake ncurses-devel

[root@node1 mysql-5.6.22]# groupadd -g 502 mysql
[root@node1 mysql-5.6.22]# useradd  -u 502 -g mysql -s /sbin/nologin -r mysql
[root@node1 ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.22.tar.gz

[root@node1 ~]# tar xvf mysql-5.6.22.tar.gz

[root@node1 mysql-5.6.22]# cd mysql-5.6.22

[root@node1 mysql-5.6.22]# chown -R root:root ../mysql-5.6.22

[root@node1 mysql-5.6.22]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.22

-DMYSQL_DATADIR=/usr/local/mysql-5.6.22/data

-DDEFAULT_CHARSET=utf8

-DDEFAULT_COLLATION=utf8_general_ci

-DMYSQL_USER=mysql

-DMYSQL_GROUP=mysql

[root@node1 mysql-5.6.22]# make

[root@node1 mysql-5.6.22]# make install

[root@node1 mysql-5.6.22]# echo $?
0
[root@node1 mysql-5.6.22]# cd /usr/local/mysql-5.6.22/

[root@node1 mysql-5.6.22]# chown -R mysql:mysql data/

[root@node1 scripts]# vim /etc/my.cnf

datadir=/usr/local/mysql-5.6.22/data
basedir=/usr/local/mysql-5.6.22

[root@node1 scripts]# ./mysql_install_db --user=mysql --group=mysql

--datadir=/usr/local/mysql-5.6.22/data/ --basedir=/usr/local/mysql-5.6.22/ --defaults-file=/etc/my.cnf

[root@node1 scripts]# cp -a ../support-files/mysql.server  /etc/init.d/mysqld
[root@node1 scripts]# chkconfig --add mysqld
[root@node1 scripts]# chkconfig mysqld on
[root@node1 scripts]# /etc/init.d/mysqld restart
 ERROR! MySQL server PID file could not be found!
Starting MySQL..... SUCCESS! 
[root@node1 scripts]# vim /root/.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql-5.6.22/bin/    --加载环境变量

[root@node1 scripts]# . /root/.bash_profile      --使环境变量生效

[root@node1 scripts]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.22 Source distribution

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.22    |
+-----------+
1 row in set (0.00 sec)

mysql>

 

4.安装php软件

[root@node1 ~]# wget http://mirrors.sohu.com/php/php-5.4.28.tar.gz

[root@node1 ~]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz

[root@node1 ~]# tar xvf libmcrypt-2.5.7.tar.gz

[root@node1 ~]# cd libmcrypt-2.5.7

[root@node1 libmcrypt-2.5.7]# ./configure  --prefix=/usr/local/libmcrypt

[root@node1 libmcrypt-2.5.7]# make

[root@node1 libmcrypt-2.5.7]# make install

[root@node1 libmcrypt-2.5.7]# cd ..

[root@node1 ~]# tar xvf php-5.4.28.tar.gz

[root@node1 ~]# cd php-5.4.28
[root@node1 php-5.4.28]# yum install libjpeg* libpng* freetype* libcurl-devel  libvpx-devel libxml2-devel libXpm-devel openldap-devel

[root@node1 php-5.4.28]# ./configure  --prefix=/usr/local/php-5.4.28 --enable-fpm --with-libxml-dir --with-zlib --with-curl --with-gd  --with-vpx-dir  --with-jpeg-dir  --with-png-dir  --with-zlib-dir  --with-xpm-dir  --with-iconv   --with-ldap --with-mcrypt=/usr/local/libmcrypt/  --with-mysql=/usr/local/mysql-5.6.22/ --with-mysqli=/usr/local/mysql-5.6.22/bin/mysql_config  --with-pdo-mysql  --with-freetype-dir

[root@node1 php-5.4.28]# make && make install

[root@node1 php-5.4.28]# cp -a php.ini-development  /usr/local/php-5.4.28/lib/php.ini

[root@node1 php-5.4.28]# cd /usr/local/php-5.4.28/etc/
[root@node1 etc]# cp -a php-fpm.conf.default  php-fpm.conf
[root@node1 etc]# cd ../sbin/
[root@node1 sbin]# ./php-fpm 
[root@node1 sbin]# netstat -antup | grep 9000
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      31387/php-fpm       
[root@node1 sbin]#

 

5.nginx和php相接合

[root@node1 sbin]# cd /usr/local/nginx-1.6.2/conf/
[root@node1 conf]# vim nginx.conf

user  nginx;      --使用nginx用户访问

location / {
        root   html;
        index  index.php index.html index.htm;    --添加index.php首页
  }

location ~ \.php$ {
       root           html;
       fastcgi_pass   127.0.0.1:9000;
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
 }

[root@node1 conf]# ../sbin/nginx -s reload
[root@node1 conf]# vim ../html/index.php

<?php
phpinfo();
?>

[root@node1 conf]#

 

6.打开测试页 

wKioL1SekdmR9L_pAAQM8WBp5AE932.jpg

 

7.安装php加速器(eaccelerator)

[root@node1 ~]# tar  xvf eaccelerator-eaccelerator-42067ac.tar.gz

[root@node1 ~]# cd eaccelerator-eaccelerator-42067ac
[root@node1 eaccelerator-eaccelerator-42067ac]# export PHP_PREFIX="/usr/local/php-5.4.28/"
[root@node1 eaccelerator-eaccelerator-42067ac]# setenforce 0
[root@node1 eaccelerator-eaccelerator-42067ac]# /usr/local/php-5.4.28/bin/phpize 
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
[root@node1 eaccelerator-eaccelerator-42067ac]# ./configure --enable-eaccelerator=shared

--with-php-config=/usr/local/php-5.4.28/bin/php-config

[root@node1 eaccelerator-eaccelerator-42067ac]# make

[root@node1 eaccelerator-eaccelerator-42067ac]# make test

[root@node1 eaccelerator-eaccelerator-42067ac]# make install

[root@node1 eaccelerator-eaccelerator-42067ac]# ll /usr/local/php-5.4.28/lib/php/extensions/no-debug-non-zts-20100525/
total 380
-rwxr-xr-x. 1 root root 387940 Dec 28 03:27 eaccelerator.so
[root@node1 eaccelerator-eaccelerator-42067ac]# vim /etc/ld.so.conf
[root@node1 eaccelerator-eaccelerator-42067ac]# ldconfig  -v

[root@node1 eaccelerator-eaccelerator-42067ac]# vim /usr/local/php-5.4.28/lib/php.ini

zend_extension="/usr/local/php-5.4.28/lib/php/extensions/no-debug-non-zts-20100525/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

[root@node1 eaccelerator-eaccelerator-42067ac]# /usr/local/php-5.4.28/sbin/php-fpm 
[root@node1 eaccelerator-eaccelerator-42067ac]# /usr/local/nginx-1.6.2/sbin/nginx -s reload
[root@node1 eaccelerator-eaccelerator-42067ac]#

 

8.测试是否加载eaccelerator加速器

wKioL1SenEDjGXOdAAMmAgd05s8749.jpg










本文转自 z597011036 51CTO博客,原文链接:http://blog.51cto.com/tongcheng/1339697,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
3月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
769 69
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
1081 2
|
3月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
387 78
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
571 16
|
4月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
239 80
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
332 10
|
4月前
|
Linux 编译器 开发工具
在CentOS环境下升级GCC编译器的指南
总结:本文提供了一种方法来升级CentOS的GCC编译器,通过使用CentOS的软件集合和开发者工具集工具,可以比较平滑地进行升级。在整个过程中无需从源代码编译,这样既省去了复杂的编译过程,也避免了可能出现的与系统库不兼容的风险。请注意,使用第三方仓库可能会带来系统稳定性和安全性上的潜在影响。所有操作都应谨慎进行,并确保有相应的数据备份。
689 19
|
4月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
490 2
|
5月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
499 18
|
3月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
373 0