ubuntu下搭建nginx+mysql+php-fpm站点
概述
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 nginx的优势在于能以低内存高效率处理静态页面大量请求。
可以参考下:三大WEB服务器对比分析(apache ,lighttpd,nginx)
PHP-FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。有点在于:
- 较低的内存占用率(因为nginx单独运行时不用加载整个PHP环境)。
- 轻松地管理用户权限( 因为PHP可以在你的服务器进程中管理不同的用户)。
- 当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>
参考阅读:
- 三大WEB服务器对比分析(apache ,lighttpd,nginx)
- Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)[原创]
- Select和epoll的区别
ubuntu下搭建nginx+mysql+php-fpm站点的更多相关文章
- ubuntu下搭建的lamp环境新建站点
这几天刚装了一个ubuntu 16.04桌面版,总之来来回回几遍才基本把环境搭建好,本来用apt-get搭建,结果不知道什么原因16.04版不支持装php5 ,提示源放弃了php5版本,不得不使用ph ...
- Linux下搭建Nginx+MySQL+PHP
在CentOS6.3下实践通过. 1.关闭防火墙 [root@CentOS ~]# chkconfig iptables off 2.关闭selinux vi /etc/sysconfig/selin ...
- linux下搭建nginx+mysql+apache
对于开发人员来说,进行Web开发时可以用Apache进行网站测试,然而当一个Web程序进行发布时,Apache中并发性能差就显得很突出,这时配置一台Nginx服务器显得尤为重要. 以下是配置Nginx ...
- ubuntu 下搭建nginx
1.安装nginx sudo apt-get install nginx 2.nginx 的启动和关闭启动 nginx:# nginx -c /etc/nginx/nginx.conf 3.关闭 ng ...
- Ubuntu下安装Nginx,PHP5(及PHP-FPM),MySQL
.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很多 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- Ubuntu下搭建NodeJS+Express WEB开发框架
Ubuntu下搭建NodeJS+Express WEB开发框架 2012-12-27 15:06 作者: NodeJSNet 来源: 本站 浏览: 2,966 次阅读 我要评论暂无评论 字号: 大 中 ...
- 如何在Ubuntu下搭建Android NDK开发环境
1 搭建Android SDK开发环境 参考在在Ubuntu下搭建Android SDK开发环境(图文)首先在Ubuntu下搭建Android SDK开发环境. 2 下载NDK开发包 打开官网: ht ...
随机推荐
- 使用git克隆指定分支的代码
今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...
- Office 365开发概述及生态环境介绍(一)
原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去O ...
- Web 页面测试总结—控件类
web端页面测试,最常见的是基本控件的测试,只有了解常见的控件和其测试方法,才能掌握测试要点,避免漏测情况发生.根据日常工作总结,将控件和常见逻辑集合在一起,总结了几个控件类测试查场景如下. 导航条 ...
- Webdriver初探
1.启动Firefox浏览器失败 package org.coder.demo; import org.openqa.selenium.*; import org.openqa.selenium.We ...
- R语言数据分析利器data.table包 —— 数据框结构处理精讲
R语言data.table包是自带包data.frame的升级版,用于数据框格式数据的处理,最大的特点快.包括两个方面,一方面是写的快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理 ...
- RequireJS基础知识
RequireJS解决代码依赖问题,异步加载js,避免页面失去相应 RequireJS的目标是鼓励代码的模块化,它使用了不同于传统<script>标签的脚本加载步骤.可以用它来加速.优化代 ...
- Python中的元祖Tuple
Python中的元祖和list基本上一样 tuple = () # 表示一个空的元祖 tuple = (50, ) # 元组中只有一个元素的时候,必须在后面加上逗号 无关闭分隔符 任意无符号的对象,以 ...
- Android设计模式之代理模式
代理模式: 为其他对象提供一种代理以控制对这个对象的访问 Subject类定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxy inte ...
- 利用shell实现批量添加用户
批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...
- sticky footer布局,定位底部footer
其作用就是当内容区域比较少时,让footer也能正常定位到底部,以前我们使用js来达到这种效果,其实用css也是完全可以的 <!DOCTYPE html> <html lang=&q ...