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 ...
随机推荐
- WPF中MeasureOverride ArrangeOverride 的理解
1. Measure Arrange这两个方法是UIElement的方法 MeasureOverride ArrangeOverride这两个方法是FrameworkElement的方法,Framew ...
- Spark(开课吧笔记)
2016.07.14 1-Spark实战演练:Spark概述及生态环境 2.Spark实战演练:Spark vs Hadoop MapReduce 任意一条边有方向且不存在环路的图,一次执行所 ...
- Hive(笔记)
(2015.07.22Hive笔记) 一.Hive的安装 1.1Hive的安装过程 下载hive源文件(apache-hive-0.14.0-bin.tar.gz ) 解压hive文件 进入$HIVE ...
- Logistic Regression理论总结
简述: 1. LR 本质上是对正例负例的对数几率做线性回归,因为对数几率叫做logit,做的操作是线性回归,所以该模型叫做Logistic Regression. 2. LR 的输出可以看做是一种可能 ...
- 从Properties得到数据到gson转换为json
从上一篇得到properties里的数据 Map<String,String> map = new HashMap<String,String>(); Enumeration& ...
- CentOS 中 YUM 安装桌面环境(转)
使用 yum groupinstall 指令很容易就能安装上图形界面的桌面系统. 1. yum 的 group 指令 yum 可以以程序组的模式来安装成套的软件包.支持的软件包可以通过, # yum ...
- iwebshop上传类的使用
$upload = new IUpload('10240000',array('jpg','gif','png')); $dir = "upload/dian"; $upload- ...
- CSS媒体查询适配范例
/*orientation:portrait纵向*/ /*orientation:landscape横向*/ /*iPhone 4*/ @media only screen and (min-devi ...
- Jmeter-线程组
1.Sampler 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sam ...
- 机器学习:Python实现单层Rosenblatt感知器
如果对Rosenblatt感知器不了解,可以先查看下相关定义,然后对照下面的代码来理解. 代码中详细解释了各步骤的含义,有些涉及到了数学公式的解释. 这篇文章是以理解Rosenblatt感知器的原理为 ...