LAMP平台应该是目前应用最为广泛的网站服务器架构,但随着Nginx在企业中的使用越来越多,LNMP(或LEMP)架构也受到越来越多Linux系统工程师的青睐,其中"E"来自于Nginx的发音[engine x]

构建LNMP网站平台

构建LNMP平台需要Linux服务器、Nginx服务器、MySQL数据库、PHP解析环境,具体方法和LAMP差不多,Nginx服务器的搭建方法上篇博客已经介绍了,下面以安装好的Nginx服务器为基础,搭建LNMP平台

1. 安装MySQL数据库

MySQL数据库的安装方法以前讲过了,配置命令就不做解释了

[root@localhost ~]# yum -y install ncurses-devel
[root@localhost ~]# tar zxf cmake-2.8.12.tar.gz
[root@localhost ~]# cd cmake-2.8.12
[root@localhost cmake-2.8.12]# ./configure && gmake && gmake install[root@localhost cmake-2.8.12]# cd ~
[root@localhost ~]# tar zxf mysql-5.5.38.tar.gz
[root@localhost ~]# cd mysql-5.5.38
[root@localhost mysql-5.5.38]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
[root@localhost mysql-5.5.38]# make && make install[root@localhost mysql-5.5.38]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆盖"/etc/my.cnf"? y
[root@localhost mysql-5.5.38]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.5.38]# chmod +x /etc/init.d/mysqld
[root@localhost mysql-5.5.38]# chkconfig --add mysqld
[root@localhost mysql-5.5.38]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.5.38]# . /etc/profile[root@localhost mysql-5.5.38]# groupadd mysql
[root@localhost mysql-5.5.38]# useradd -M -s /sbin/nologin mysql -g mysql
[root@localhost mysql-5.5.38]# chown -R mysql:mysql /usr/local/mysql
[root@localhost mysql-5.5.38]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/
--datadir=/usr/local/mysql/data/ --user=mysql[root@localhost mysql-5.5.38]# service mysqld start
Starting MySQL..                                           [确定]
[root@localhost mysql-5.5.38]# mysqladmin -u root password 123456

2. 安装PHP解析环境

添加FPM模块,用来对PHP解析实例进行管理、优化解析效率

[root@localhost ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
[root@localhost ~]# tar zxf php-5.3.28.tar.gz
[root@localhost ~]# cd php-5.3.28/
[root@localhost php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql
--with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
[root@localhost php-5.3.28]# make && make install[root@localhost php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@localhost php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/[root@localhost ~]# tar zxf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
[root@localhost ~]# cd ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/
[root@localhost php-5.3.x]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[root@localhost php-5.3.x]# vim /usr/local/php5/php.ini
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

3. 配置Nginx支持PHP环境

若要让Nginx能够解析PHP网页,有两种方法:

方式一:充当中介,将访问PHP页面的Web请求转交给其他服务器(LAMP),从而实现由Nginx负责静态页面、LAMP负责动态页面的分离效果

方式二:通过使用PHP的FPM模块来调用本机的PHP环境

一、对于第一种方式,需要配置Nginx

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
server {
……location ~ \.php$ {proxy_pass   http://192.168.1.100;     //Apache服务器的监听地址 }
}

二、本篇博客采用第二种方式,配置方法如下:

(1)启用php-fpm进程

[root@localhost ~]# cd /usr/local/php5/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# useradd -M -s /sbin/nologin php
[root@localhost etc]# vim php-fpm.conf
pid = run/php-fpm.pid             //确认pid文件位置
user = php
group = php
pm.start_servers = 20             //启动时开启的进程数
pm.min_spare_servers = 5          //最少空闲进程数
pm.max_spare_servers = 35
pm.max_children = 50              //最多空闲进程数[root@localhost etc]# /usr/local/sbin/php-fpm       //启动php-fpm进程
[root@localhost etc]# netstat -anpt | grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      123330/php-fpm[root@localhost etc]# vim /etc/init.d/nginx      //添加以下内容,以便php-fpm程序随Nginx的控制启动或关闭
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM="/usr/local/php5/var/run/php-fpm.pid"
case "$1" in
start)
netstat -anpt | grep "php-fpm" &> dev/null && pgrep "php-fpm" &> /dev/null
if [ $? -eq 0 ]; then
echo "php-fpm is running"
else
$PROG_FPM
fi
;;
stop)
netstat -anpt | grep "php-fpm" &> dev/null && pgrep "php-fpm" &> /dev/null
if [ $? -eq 0 ]; then
killall -s QUIT php-fpm
echo "php-fpm is down"
fi
;;
esac

(2)配置Nginx支持PHP解析

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
server {                                       //找到以下文件,去掉#
……location ~ \.php$ {root           /var/www/ysf;       //PHP网页文档根目录fastcgi_pass   127.0.0.1:9000;     //php-fpm的监听地址fastcgi_index  index.php;          //PHP首页文件include        fastcgi_params;     //包括fastcgi_params样本配置}
}
[root@localhost ~]# service nginx restart      //重启服务即可生效

(3)PHP页面访问测试

[root@localhost ~]# vim /var/www/ysf/test.php     //创建测试网页
<?php
$link=mysql_connect("localhost","root","123456");
if($link) echo "welcome to database!!!";
mysql_close();
?>

先创建一个测试文件,在浏览器中访问,测试PHP是否正常解析,以及能否访问MySQL数据库

在LNMP平台中部署Web应用

LNMP平台与LAMP平台是非常相似的,区别主要在于使用Web服务软件的不同,而这与使用PHP开发的Web应用程序并无太大关系。下面以“天空网络电影系统”为例,介绍在LNMP平台部署过程

天空网络电影系统(简称SKYUC ),是一套PHP视频点播系统,支持各种P2P流媒体软件,应用范围非常广泛,其官网地址为http://www.skyuc.com/

1. 下载并调整程序代码

[root@localhost ~]# yum -y install unzip
[root@localhost ~]# unzip SKYUC.v3.4.2.SOURCE.zip             //将下载的SKYUC文件解压
[root@localhost ~]# mv SKYUC.v3.4.2.SOURCE/wwwroot /var/www/ysf/skyuc    //将wwwroot移到网站根目录
[root@localhost ~]# cd /var/www/ysf/skyuc/                               //调整相关权限
[root@localhost skyuc]# chown -R php:php admincp/ data/ templates/ upload/[root@localhost skyuc]# mysql -u root -p
Enter password:
……                                //新建skyuc专用数据库及授权用户,降低数据库的风险
mysql> create database skyucdb;
Query OK, 1 row affected (0.00 sec)mysql> grant all on skyucdb.* to ysf@localhost identified by "123456";
Query OK, 0 rows affected (0.00 sec)

2. 安装Web应用

3. 访问Web应用系统

转载于:https://blog.51cto.com/yangshufan/2060600

LNMP平台部署及应用相关推荐

  1. Puppet基于Master/Agent模式实现LNMP平台部署

    前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...

  2. 搭建LNMP平台加NFS文件共享部署wordpress博客

    搭建LNMP平台部署wordpress博客 安装LNMP平台 安装nginx 安装PHP 搭建mysql数据 搭建NFS 安装LNMP平台 安装nginx 1)下载官方源 [root@Web ~]# ...

  3. 一键部署LNMP平台脚本

    分享一个一键部署LNMP平台脚本,设置通过systemd管理Nginx服务,好用! #!/bin/bash yum -y install gcc openssl-devel pcre-devel ta ...

  4. LNMP平台服务简介、部署及应用

    这里写目录标题 一.LNMP简介 (1)LNMP的组成 (2)LNMP和LAMP的区别 (3)单服务器中Nginx与PHP的工作原理 (4)LNMP平台的构建步骤 二.部署LNMP平台 (1)安装Ng ...

  5. Nginx网站服务与LNMP架构部署(详解)

    Nginx网站服务与LNMP架构部署 1.Nginx服务基础 2.编译安装Ngiax 3.Nginx的运行控制 4.配置文件nginx.conf 5.Nginx虚拟主机 6.LNMP架构部署 1.源码 ...

  6. LNMP架构部署详细步骤

    一.LNMP架构部署 众所周知,LAMP平台是目前应用最为广泛的网站服务器架构其中的"A"对应着wed服务软件APache HTTP Server. 随着Nginx在企业中的使用越 ...

  7. LNMP+WordPress部署

    LNMP部署 LNMP简介 1.什么是lnmp 在linux系统中,LNMP是目前网站主流架构之一,LNMP中L指linux系统平台,N是nginx指网站的前端程序,发布静态页面和调用外部程序解析动态 ...

  8. CentOS 6.7 源码搭建LNMP架构部署动态网站环境

    源码搭建LNMP架构部署动态网站环境 Nginx 简介 Nginx是一款相当优秀的用于部署动态网站的服务程序,Nginx具有不错的稳定性.丰富的功能以及占用较少的系统资源等独特特性. Nginx (& ...

  9. LNMP 架构部署(附:部署 Discuz 社区论坛 Web 应用)

    文章目录 前言 一.安装 Nginx 服务 二.安装 MySQL 服务 三.安装配置 PHP 解析环境 四.部署 Discuz 社区论坛 Web 应用 前言 LAMP 中的"A"对 ...

  10. 语音预处理:服务器平台“部署”

    1. "部署"是一个听起来很高大上的名字,让人听不懂,其实本质就是配置一下编程语言环境,安装一下数据库.编程语言工具包等,让别人的程序(包括前端代码和后端代码)成功运行的过程. 平 ...

最新文章

  1. JS设计模式——3.封装与信息隐藏
  2. 什么是生存分析(survival analysis)?
  3. c语言循环练习[xcode]
  4. C语言 泛型链表 如何计算(结构体中各元素)相对内存地址?(字节对齐,结构体对齐)offsetof()函数 ( (struct X*)0 ) -> Y)语法(匿名结构体)
  5. 神策 FM | 数据驱动时代,你的岗位如何转变?
  6. 国内linux内核镜像仓库,国内较快的maven仓库镜像
  7. mysql cluster双机_GitHub - sophys/mysqlha: 博客“Mysql-cluster数据库集群双机HA研究”测试代码...
  8. 阿里云获中国互联网网络安全威胁治理联盟特别贡献奖
  9. 葡萄品质无损检测技术的研究进展
  10. 不能使用 float 和 double 来表示金额等精确的值
  11. css就近原则_CSS的引入方式和优先级
  12. RabbitMQ的工作模式及消息顺序性的保证
  13. window核心编程 22.3 DIPS.exe的踩坑逻辑梳理
  14. html设置type选择器,css :first-of-type选择器实例讲解
  15. 【10】Ubuntu16虚拟机调整窗口大小自适应
  16. Shell程序退出状态码的命令详解
  17. 2.Oracle数据库SQL开发之 SQL DEVELOPER使用
  18. cad把图形切成两部分_CAD入门教程,最常用快捷键
  19. 服务器虚拟化书籍,服务器虚拟化解决方案书模板-精选版.doc
  20. 统计系列(二)常见的概率分布

热门文章

  1. 公司周刊-非常6+1—营销平台小组
  2. 【Git/Github学习笔记】Git分支使用场景和标签管理、总结
  3. ArcGIS 打开捕捉工具
  4. Endnote X8 #安装%办法与*安装*包%
  5. sublime跳转到函数定义
  6. 狂神Reids学习笔记二
  7. Flutter监听网络变化
  8. python强行终止程序,如何终止Python脚本
  9. 在Vue+springBoot环境中如何实现单点登录(SSO)
  10. FFmpeg实现多段小视频合成