RHEL5.8搭建LNMP平台实例

nginx在处理并发方面有着很不错的表现,相对于较为常用的LAMP平台(Linux + Apache + Mysql + PHP), LNMP也越来越多的被使用,当站点的并发访问量较大时,nginx的确是一个不错的选择,不过nginx与php是通过php-fpm的方式整合的,也就是fastcgi,这要求php-fpm单独启用一个进程,至于如何选择,应根据实际生产环境需要来加以应用。

实验规划:

系统平台: RHEL5.8-i386

nginx:nginx-1.4.7.tar

mysql: mysql-5.5.44-linux2.6-i686.tar

php: php-5.4.41.tar

一,安装nginx:

1,解决依赖关系:

# yum -y groupinstall "Development Libraries" "Development Tools"
# yum -y install pcre-devel

2,添加nginx的运行用户和组:

# groupadd -r nginx
# useradd -r -g nginx nginx

3,编译安装nginx:

# tar xf nginx-1.4.7.tar.gz
# cd nginx-1.4.7
# ./configure 
  --prefix=/usr   --sbin-path=/usr/sbin/nginx   --conf-path=/etc/nginx/nginx.conf   --error-log-path=/var/log/nginx/error.log   --http-log-path=/var/log/nginx/access.log   --pid-path=/var/run/nginx/nginx.pid    --lock-path=/var/lock/nginx.lock   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module   --with-http_stub_status_module   --with-http_gzip_static_module   --http-client-body-temp-path=/var/tmp/nginx/client/   --http-proxy-temp-path=/var/tmp/nginx/proxy/   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi   --http-scgi-temp-path=/var/tmp/nginx/scgi   --with-pcre
# make && make install

启动nginx

# /usr/sbin/nginx

测试nginx

# netstat -tnlp | grep :80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      31103/nginx
# curl 
 <!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
...以下内容省略

看到如上提示,说明你的nginx可以正常工作了。

二、安装mysql-5.5.44

1,首先要准备一个存放数据的文件系统,建议使用lvm

# vgs
  VG      #PV #LV #SN Attr   VSize  VFree 
  vg_root   1   1   0 wz--n- 97.70G 48.58G
# lvcreate -L 300M -n mydata /dev/vg_root/
# mkfs.ext3 /dev/vg_root/mydata
# mkdir /mydata
# mount /dev/vg_root/mydata /mydata
# cd /mydata
# mkdir data

2,创建mysql用户和mysql组:

# groupadd -r mysql
# useradd -r -g mysql -s /sbin/nologin -M -d /mydata/data mysql
# chown -R mysql:mysql /mydata/data

3,安装并初始化mysql

# tar xf mysql-5.5.44-linux2.6-i686.tar.gz -C /usr/local
# ln -sv /usr/local/mysql-5.5.44-linux2.6-i686 /usr/local/mysql
# cd /usr/local/mysql
# chown -R mysql:mysql .
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
# chown -R root .

4.为mysql提供主配置文件:

# cd /usr/local/mysql
# cp support-files/my-large.cnf  /etc/my.cnf

并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:

thread_concurrency = 2

另外还需要添加mysql数据文件的存放位置:

datadir = /mydata/data

5,为mysql提供sysv脚本

# cd /usr/local/mysql
# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld 
# chkconfig mysqld on

6,导出mysql的man手册:

编辑/etc/man.config,添加如下行即可:

MANPATH  /usr/local/mysql/man

7,输出mysql头文件至系统头文件目录

# ln -sv /usr/local/mysql/include  /usr/include/mysql

8,输出mysql的库文件至系统库文件的路径:

# echo ‘/usr/local/mysql/lib‘ > /etc/ld.so.conf.d/mysql.conf
# ldconfig -v

9,修改PATH环境变量:

# echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh
# . /etc/profile.d/mysql.sh

10,测试启动mysql服务:

# service mysqld start 
# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.44-log MySQL Community Server (GPL)
Copyright (c) 2000, 2015, 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>

至此,mysql-5.5.44安装完成。

三,安装PHP-5.5.41

1,编译安装php

# tar xf php-5.4.41.tar.bz2
# cd php-5.4.41
#  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-sockets --enable-sysvshm  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl 
# make && make install

2,为php提供配置文件:

# cp php.ini-production /etc/php.ini

3,为php-fpm提供Sysv init脚本,并将其添加至服务列表:

# cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
# chkconfig php-fpm on

4,为php-fpm提供配置文件:

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

编辑php-fpm的配置文件:

# vim /usr/local/php/etc/php-fpm.conf

配置fpm的相关选项为你所需要的值(这里只是参考值,具体根据实际情况调整),并启用pid文件(如下最后一行):

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid

5,启动php-fpm:

# service php-fpm start
# netstat -tnlp | grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      31025/php-fpm

PHP安装完成。

四,整合nginx和php5

1,编辑/etc/nginx/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;
        }
# 添加对php格式的主页
location / {
            root   html;
            index  index.php index.html index.htm;
        }

2、编辑/etc/nginx/fastcgi_params,将其内容更改为如下内容:

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

3,重新载入nginx

# /usr/sbin/nginx -s reload

4,在/usr/html新建index.php的测试页面,测试php是否能正常工作:

# vim /usr/html/index.php
<h1>LNMP test</h1>
<?php
phpinfo();
?>

打开浏览器测试,如下

时间: 2024-10-13 22:27:03

RHEL5.8搭建LNMP平台实例的相关文章

CentOS6.7源码搭建LNMP平台

LNMP是Linux+ Nginx+ MySQL +PHP的简称.先安装mysql:然后是php,php使用fast-cgi的方式运行:最后安装Nginx. 安装平台:CentOS6.7 X86_64 MySql版本:mysql-5.6.27 MySql安装目录:/usr/local/mysql MySql数据库存放目录:/data/mysql MySql的用户和组:mysql:mysql MySql源码存放目录:/usr/local/src 安装前的准备: (1).关闭selinux vim

Ubuntu14.04搭建LNMP平台

更新源: apt-get install update 关闭apache2: /etc/init.d/apache2 stop 安装nginx: apt-get install nginx 安装MYSQL: apt-get install mysql-server  #连续输入两次相同密码,密码为mysql管理账户所使用 安装PHP: apt-get install php5-fpm php5-mysql 配置PHP,修改php.ini文件: cp /etc/php5/fpm/php.ini /

LNMP平台部署及应用

LAMP平台应该是目前应用最为广泛的网站服务器架构,但随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中"E"来自于Nginx的发音[engine x] 构建LNMP网站平台 构建LNMP平台需要Linux服务器.Nginx服务器.MySQL数据库.PHP解析环境,具体方法和LAMP差不多,Nginx服务器的搭建方法上篇博客已经介绍了,下面以安装好的Nginx服务器为基础,搭建LNMP平台 1. 安装MySQL数据库 MySQ

源码搭建LNMP

源码安装LNMP 作者:尹正杰 前言:非常简单的一个平台LNMP,在生产实际环节中我们也经常用到! 二话不说,开始享受我们的搭建过程吧! 一.源码安装nginx 1.安装依赖包 [[email protected] yinzhengjie]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-deve

在CentOS 7系统上搭建LNMP

简要介绍: 一般来说,LNMP是Linux+Nginx+MySQL+PHP的简称,是一种用于替代LAMP的解决方案.在本文档中,我使用CentOS 7来搭建LNMP平台,其中,PHP采用FastCGIserver方式部署.此外,还介绍了如何部署Memcached和phpMyadmin. CentOS系统安装时选择的是basic server版本,详细版本号为CentOS 7.0.1406,核心版本号为3.10.0-123.el7.x86_64.系统安装在虚拟机上,IP为172.31.2.3,其可

部署LNMP平台和相关的实验

该实验分为四个部分,实验一为搭建LNMP平台,实验二为测试能否解析php的文件 和连接数据库的效果,实验三为实现地址重写的功能,实验四为不同的浏览器,给出不同样式的页面 实验一:部署LNMP环境 一.目标 安装部署Nginx.MariaDB.PHP环境 安装部署Nginx.MariaDB.PHP.PHP-FPM: 启动Nginx.MariaDB.FPM服务: 并测试LNMP是否工作正常. 二.各软件的安装 1.安装源码包安装时需要的依赖包 yum -y install gcc openssl-d

搭建LNMP网站服务平台

一.安装及运行控制Nginx 1.编译安装Nginx Ngin的配置及运行需要pcre.zlib的软件包的支持,因此预先安装这些软件的开发包. 为Nginx创建专门的用户和组(默认是以nobody身份运行的) 编译安装Nginx 选项"--with-http_stub_status_module":表示启用该模块以支持状态统计. 为主程序nginx创建链接文件,优化执行路径. 2.Nginx的运行控制 配合选项"-t"检查配置文件(配置文件nginx.conf默认位

LNMP平台搭建网站实战案例

知识部分简介:LNMP又称LEMP,由"L"即Linux操作系统."N"即Nginx网站服务."M"即Mysql数据库."P"即PHP语言组成.LNMP与LAMP的差距就在于Apache和Nginx,Nginx相对于Apache而言,在并发处理量上具有较大优势,稳定性和性能也要好过Apache,所以较大型的公司用LNMP比LAMP多.对于运维人员的我们这两种网站平台的搭建我们都应当熟悉掌握.本次实例的目的是通过LNMP搭建一个

LNMP平台搭建---Linux系统安装篇

在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更高的并发性,系统资源利用率更高,在市场上的占有率也逐步提升,在Netcraft网站上看到的数据,在1995年到2015年间,每种服务器的使用趋势: 可以看到,Apache依然是最受欢迎的Web服务器,Nginx属于后起之秀,很快占有市场.Nginx的几大特点如下: 1. 对静态资源的高速并发缓存和访