概述

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。  nginx的优势在于能以低内存高效率处理静态页面大量请求。

可以参考下:三大WEB服务器对比分析(apache ,lighttpd,nginx)

PHP-FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。有点在于:

  1. 较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境)。
  2. 轻松地管理用户权限( 因为PHP可以在你的服务器进程中管理不同的用户)。
  3. 当PHP崩溃时,nginx可以照常运行。

nginx+php-fpm 能比apache+php_mod的方式使用更少内存,承载跟高负载。

安装

1.nginx的安装

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key

echo "deb http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list

echo "deb-src http://nginx.org/packages/ubuntu/ trusty nginx" >> /etc/apt/sources.list
根据ubuntu的版本不同 trusty 要替换成其他的
apt-get update
apt-get install nginx

如有问题请参考官网文档:nginx安装方法

安装过程遇到一个问题

chown: invalid group: ‘nginx:adm’  ,表示没有组adm,groupadd adm后重新apt-get install nginx

 2.php-fpm的安装

apt-get install php5-fpm

netstat -anop

表示安装的nginx和php-fpm都已启动

3.修改nginx和php-fpm配置

参考张宴大牛写的 Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)

修改配置后重启php-fpm和nginx

service php5-fpm reload

service nginx reload

service php5-fpm reload 失败 ,于是我 ps -aux | grep php 找到php5-fpm进程号,杀掉,然后service php5-fpm start重启fpm

修改nginx配置后,重启报错

nginx: [warn] the "log_format" directive may be used only on "http" level in /etc/nginx/nginx.conf:84

"log_format" 放错了位置 不应该放在server节点 ,应该放在http节点,调整后重启好了

4.mysql的安装

类似nginx和php5-fpm,过程比较顺利,不多讲

部署博客

下载onethink源码包

wget http://down.thinkphp.cn/onethink.php?key=MTQwMzc1ODU3OLvbf3yWZZmryHtsnb6p3Nuuo3PZsaRp3LKcY6uypa2nrcusoIKGf6LAiIGhst2qmrqQiMmxym6bxot0nbF8gKfGz4tnlXmhq8dla62wzafLro2D2LDLet6xoaOkyHx_pK3Pe66Xea2mv2Z5ZcW6ntq5fGuXxLl6zr2EcHE

mv onethink.php?*  onethink.zip

unzip onethink.zip

cp -R wwwroot/*  /var/www/html

访问 http://hostname/install.php 按步骤提示部署好博客

压力测试

服务器配置大致情况 digitalocean的vps,512M内存,压力测试表明800并发下每分钟能处理1888个请求,30个请求会失败

同时查看服务器内存及cpu消耗情况,还ok

 命令参考:

  • 知道安装包名称,查看安装后的文件

dpkg -L <package>

  • 想知道某些安装包信息

dpkg -l package-name-pattern
          比如想知道php相关的软件
          dpkg -l php*

  • 想知道文件是属于哪个安装包的

dpkg -S filename-search-pattern

  • 想知道某具体安装包是否安装

dpkg -s <package>

 参考阅读:

ubuntu下搭建nginx+mysql+php-fpm站点的更多相关文章

  1. ubuntu下搭建的lamp环境新建站点

    这几天刚装了一个ubuntu 16.04桌面版,总之来来回回几遍才基本把环境搭建好,本来用apt-get搭建,结果不知道什么原因16.04版不支持装php5 ,提示源放弃了php5版本,不得不使用ph ...

  2. Linux下搭建Nginx+MySQL+PHP

    在CentOS6.3下实践通过. 1.关闭防火墙 [root@CentOS ~]# chkconfig iptables off 2.关闭selinux vi /etc/sysconfig/selin ...

  3. linux下搭建nginx+mysql+apache

    对于开发人员来说,进行Web开发时可以用Apache进行网站测试,然而当一个Web程序进行发布时,Apache中并发性能差就显得很突出,这时配置一台Nginx服务器显得尤为重要. 以下是配置Nginx ...

  4. ubuntu 下搭建nginx

    1.安装nginx sudo apt-get install nginx 2.nginx 的启动和关闭启动 nginx:# nginx -c /etc/nginx/nginx.conf 3.关闭 ng ...

  5. Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL

    .简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...

  6. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  7. 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台

    最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...

  8. Ubuntu下搭建NodeJS+Express WEB开发框架

    Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...

  9. 如何在Ubuntu下搭建Android NDK开发环境

    1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...

随机推荐

  1. WPF中MeasureOverride ArrangeOverride 的理解

    1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...

  2. Spark(开课吧笔记)

    2016.07.14 1-Spark实战演练:Spark概述及生态环境 2.Spark实战演练:Spark vs Hadoop MapReduce     任意一条边有方向且不存在环路的图,一次执行所 ...

  3. Hive(笔记)

    (2015.07.22Hive笔记) 一.Hive的安装 1.1Hive的安装过程 下载hive源文件(apache-hive-0.14.0-bin.tar.gz ) 解压hive文件 进入$HIVE ...

  4. Logistic Regression理论总结

    简述: 1. LR 本质上是对正例负例的对数几率做线性回归,因为对数几率叫做logit,做的操作是线性回归,所以该模型叫做Logistic Regression. 2. LR 的输出可以看做是一种可能 ...

  5. 从Properties得到数据到gson转换为json

    从上一篇得到properties里的数据 Map<String,String> map = new HashMap<String,String>(); Enumeration& ...

  6. CentOS 中 YUM 安装桌面环境(转)

    使用 yum groupinstall 指令很容易就能安装上图形界面的桌面系统. 1. yum 的 group 指令 yum 可以以程序组的模式来安装成套的软件包.支持的软件包可以通过, # yum ...

  7. iwebshop上传类的使用

    $upload = new IUpload('10240000',array('jpg','gif','png')); $dir = "upload/dian"; $upload- ...

  8. CSS媒体查询适配范例

    /*orientation:portrait纵向*/ /*orientation:landscape横向*/ /*iPhone 4*/ @media only screen and (min-devi ...

  9. Jmeter-线程组

    1.Sampler 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sam ...

  10. 机器学习:Python实现单层Rosenblatt感知器

    如果对Rosenblatt感知器不了解,可以先查看下相关定义,然后对照下面的代码来理解. 代码中详细解释了各步骤的含义,有些涉及到了数学公式的解释. 这篇文章是以理解Rosenblatt感知器的原理为 ...