军哥的lnmp一键安装包

我自己部署的话,一般用的是debian+openresty+postgres+php。虽然如此,为别人快速安装一键部署环境的时候,lnmp依然是最简便易行的选择。

基本的操作在官网上都有,lnmp一键安装包。今天仅仅记录一些容易忘记的操作,避免每次都上官网去找。

我使用的版本是1.2,发现mysql和pureftp会有些问题,因为网站已经开放使用了,也就懒得换了。

安装

按照官网的提示,安装使用下面的命令,再输入些相关的信息,即可安装完成。

wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp

常用命令

LNMP 1.2输入lnmp命令即可看到常用命令。

LNMP 1.1及之前的版本采用/root/vhost.sh 进行添加虚拟主机。

Usage: lnmp {start|stop|reload|restart|kill|status}
Usage: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
Usage: lnmp vhost {add|list|del}
Usage: lnmp database {add|list|del}
Usage: lnmp ftp {add|list|del}

虚拟主机管理

直接使用lnmp命令即可

lnmp vhost add
lnmp vhost list
lnmp vhost del

虚拟主机配置文件在:

/usr/local/nginx/conf/vhost/域名.conf

执行:/etc/init.d/nginx restart 重启生效

上传网站后执行:chown www:www -R /path/to/dir 对网站目录进行权限设置

链接

插件

FTP服务器: PureFTPd,执行:./pureftpd.sh 安装,http://yourIP/ftp/ 进行管理。

缓存加速: LNMP1.2下统一使用./addons.sh 进行安装和卸载。

使用方法:./addons.sh {install uninstall} {eaccelerator xcache memcached opcache redis imagemagick ioncube}

安装目录

LNMP相关软件安装目录

Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL数据库所在目录:/usr/local/mysql/var/
MariaDB 目录 : /usr/local/mariadb/
MariaDB数据库所在目录:/usr/local/mariadb/var/
PHP目录 : /usr/local/php/
PHPMyAdmin目录 : 0.9版本为/home/wwwroot/phpmyadmin/ 1.0及以后版本为 /home/wwwroot/default/phpmyadmin/ 强烈建议将此目录重命名为其不容易猜到的名字。phpmyadmin可自己从官网下载新版替换。
默认网站目录 : 0.9版本为 /home/wwwroot/ 1.0及以后版本为 /home/wwwroot/default/
Nginx日志目录:/home/wwwlogs/
/root/vhost.sh添加的虚拟主机配置文件所在目录:/usr/local/nginx/conf/vhost/
PureFtpd 目录:/usr/local/pureftpd/
PureFtpd web管理目录: 0.9版为/home/wwwroot/default/ftp/ 1.0版为 /home/wwwroot/default/ftp/
Proftpd 目录:/usr/local/proftpd/
Redis 目录:/usr/local/redis/

LNMP相关配置文件位置

Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
/root/vhost.sh添加的虚拟主机配置文件:/usr/local/nginx/conf/vhost/域名.conf
MySQL配置文件:/etc/my.cnf
PHP配置文件:/usr/local/php/etc/php.ini
php-fpm配置文件:/usr/local/php/etc/php-fpm.conf
PureFtpd配置文件:/usr/local/pureftpd/pure-ftpd.conf
PureFtpd MySQL配置文件:/usr/local/pureftpd/pureftpd-mysql.conf
Proftpd配置文件:/usr/local/proftpd/etc/proftpd.conf 1.2及之前版本为/usr/local/proftpd/proftpd.conf
Proftpd 用户配置文件:/usr/local/proftpd/etc/vhost/用户名.conf
Redis 配置文件:/usr/local/redis/etc/redis.conf

转载自:


使用 apache ab 做网站压力测试【转】

1、先查看一下版本信息 ab -V(注意是大写的V)

2、我们也可以使用小写的v查看下ab命令的一些属性 ab -v

3、现在我们就对51CTO的网站进行一次压力测试吧,使用命令ab -n1000 -c10 http://www.51cto.com/index.php,其中 -n1000 表示总请求数 -c10表示并发用户数为10 http://www.51cto.com/index.php 表示请求的URL,下面是测试的结果,其中我们最关心的三个指标,我已经注释出来了。

[t1@a1 test]$ ab -n1000 -c10 http://www.51cto.com/index.php
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking www.51cto.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests

1.     /*WEB服务器用的是Tengine */

Server Software:        Tengine
Server Hostname:        www.51cto.com
Server Port:            80

Document Path:          /index.php
Document Length:        705 bytes

Concurrency Level:      10
Time taken for tests:   11.770 seconds
Complete requests:      1000
Failed requests:        51
   (Connect: 0, Receive: 0, Length: 51, Exceptions: 0)
Write errors:           0
Non-2xx responses:      1000
Total transferred:      1174340 bytes
HTML transferred:       1028289 bytes
2.    /*大家最关心的指标之一,指的是吞吐率
3.    每秒事务数,后面括号中的 mean 表示这是一个平均值*/  

Requests per second:    84.96 [#/sec] (mean)
4.    /*大家最关心的指标之二,指的是用户平均请求等待时间
5.    平均事务响应时间 ,后面括号中的 mean 表示这是一个平均值*/ 

Time per request:       117.700 [ms] (mean)
6.    /*大家最关心的指标之三,指的是服务器平均请求处理时间

Time per request:       11.770 [ms] (mean, across all concurrent requests)
Transfer rate:          97.44 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       38   71 174.0     39    1046
Processing:    39   42  17.5     40     395
Waiting:       38   41  10.9     40     283
Total:         77  113 175.0     79    1090

Percentage of the requests served within a certain time (ms)
  50%     79
  66%     82
  75%     83
  80%     83
  90%     86
  95%     89
  98%   1084
  99%   1086
 100%   1090 (longest request)


4、为了使结果更有对比性,我们将并发用户更改为100个进行压力测试,我这里只将三个指标贴出来。 4、为了使结果更有对比性,我们将并发用户更改为100个进行压力测试,我这里只将三个指标贴出来。

Requests per second:    190.95 [#/sec] (mean)  
Time per request:       523.694 [ms] (mean)  
Time per request:       5.237 [ms] (mean, across all concurrent requests) 

5、将并发用户改为200个进行测试

Requests per second:    186.00 [#/sec] (mean)  
Time per request:       1149.433 [ms] (mean)  
Time per request:       5.747 [ms] (mean, across all concurrent requests)  

6、500个并发用户时的情况

Requests per second:    180.99 [#/sec] (mean)  
Time per request:       2631.662 [ms] (mean)  
Time per request:       5.263 [ms] (mean, across all concurrent requests)  

我们来分析下测试的结果,先对比下吞吐率,当并发用户的时候吞吐率最高为190 reqs/s,当并发用户数为200,500 吞吐率下降了,随之用户的等待时间更是明显增加了,已经有2s的等待时间了。这说明性能明显下降了。当然分析这个测试结果并不是说明51CTO的网站的并发用户只能在500左右,因为这个测试还不是在他们的服务器上面去测试,经过了网络带宽会对这个测试的结果有很大的影响。另外我们在生产环境下测试的时候,最好能将测试结果做成报表,这样可以非常清晰地对比出问题来。


转载自:


BeagleBone Black焕发第二春

BeagleBone Black吃灰已久。留着实在可惜。最近又拿出来捣弄了一番。已废旧利用为主要目的。这次总共做了几件事:

  1. 烧录系统到micro SD卡并写入eMMC;
  2. 使用usb连接电脑后联网。

烧录系统到micro SD卡并写入eMMC。

我是在windows下。

  • 第一步:下载官方 Debian 镜像

  • 第二步:解压缩xz文件里的img镜像。

  • 第三步:打开 Win32DiskImager ,选择镜像和目标SD卡,烧录到SD卡中。

Win32DiskImager烧写

烧写完成之后将SD卡插入到树莓派的卡槽中,上电启动,我们可以通过串口或者通过ip来登陆。

  • 第四步:把烧写好镜像的SD卡插入BBB,按住SD卡槽旁边的按键(在卡槽另一面)(15s左右),BBB会从SD卡启动。然后用 ssh工具putty,或者使用HDMI接口直接连接显示器。

使用cd命令进入boot目录下,可以看到有一个叫uEnv.txt的文件,,使用nano或者vim打开,,将其中的

##enable BBB: eMMC Flasher:
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

改成

##enable BBB: eMMC Flasher:
cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

重启BBB。

  • 第五步:重启之后,你会看到BBB的四个LED会像流水灯一样闪烁,,接下来等很久很久,,你的BBB就烧写好了,,烧写好,,四个LED会全亮的。。

使用usb连接电脑后联网

(1)打开网络连接,找到主机外网的网络连接(如下图中,我的就是本地连接),以及BBB的usb0在主机上的的网络连接(如下图,本地连接2)

(2)这时需要修改上图中的本地连接2(这里依据自己机器的实际显示)TCP/IPv4属性,BBB连接主机后,它会默认手动配置ip地址和子网掩码,所以需要把这里改成“自动获取IP地址”和“自动获取DNS服务器地址”,修改后,确定保存,如下图所示:

(3)修改本地连接的共享属性,将网络共享给本地连接2,确定保存,如下图:

(4)使用putty远程连接BBB上的系统,配置BB-Black的路由和DNS等,输入指令:

route add default gw 192.168.7.1:

(5)需要配置域名解析,编辑文件 /etc/resolv.conf,使用vim打开之后,增加以下内容: (5)需要配置域名解析,编辑文件 /etc/resolv.conf,使用vim打开之后,增加以下内容:

nameserver 8.8.8.8

(6)测试一下是否网络共享了,输入命令:ping www.baidu.com,就OK了 (6)测试一下是否网络共享了,输入命令:ping www.baidu.com,就OK了


参考资料:


windows的markdown编辑器

mac下一直使用Mou作为markdown编辑器,虽然开发者在众筹之后一直没有更新,不过也懒得再尝试其它的编辑器,够用就好。然而现在转到了windows下,网上随意看了下,貌似也没有满意的。机缘巧合发现了chrome的一个markdown扩展 – Minimalist Markdown Editor ,真的不错。够用了。


计算机丢失msvcr110.dll

完全是新开封的电脑,装了个intellij idea,就报了这个错误。解决办法和百度知道的这个答案一样。——http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html

  • 首先是打开浏览器,进入 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 ,下载Visual C++ Redistributable for Visual Studio 2012 Update 4。 在“选择语言”里选择“简体中文”,然后点击右边的“下载”按钮。
  • 这时就会弹出一个要求我们下载的程序选择,根据自己的需要来进行相应的选择。

Mac下安装yaf

刚刚加入了新的团队。团队里使用鸟哥惠新宸的yaf框架。于是便在自己电脑上安装了起来,稍微记录一下注意事项。题外话,我也是刚刚才了解到,鸟哥竟然是我的学长😓。。。。。。

由于之前使用的是thinkphp框架,本地的环境基本上已经搭建好了,xampp+phpstorm搞定。于是要做的,就是将yaf编译好,将其与xampp的php结合起来,即可。

先在yaf官网上面下载最新的源码,然后按照官网上的教程进行安装。http://www.laruence.com/manual/

1. 编译

官网上给出的编译步骤如下,

下载Yaf的最新版本, 解压缩以后, 进入Yaf的源码目录, 依次执行

$PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install

其中,$PHP_BIN指的是php所在的bin目录,在这我们的目录是/Applications/XAMPP/bin 同时注意需要在make和make install命令前面加上sudo。

tips

在这个过程中你可能会遇到这个问题:

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

于是使用万能的homebrew来进行安装autoconf。

brew install autoconf

2. 配置

make install之后,系统会编译出一个yaf.so,并且存放在某个文件夹下面。具体存放在哪不用去了解。将yaf.so加入配置文件php.ini中。

vi /Applications/XAMPP/etc/php.ini 加入以下语句:

extension=yaf.so 使用php -m,查看yaf是否已经加入php

/Applications/XAMPP/bin/php -m
[PHP Modules]
……
省略一些模块
……
xmlwriter
xsl
yaf
zip
zlib

如果看到了yaf,就说明yaf这个模块已经载入成功了。

tips

为了使你的php用的更加方便点,可以添加一个alias进入你的.bashrc文件中

alias xamppphp='/Applications/XAMPP/bin/php'

3. 生成sample应用

按照yaf官网上面的教程,生成一份样例的yaf应用,具体步骤如下:

下载php-yaf源码

git clone https://github.com/laruence/php-yaf/ 运行代码生成工具

$PHP_YAF_SRC/tools/cg/yaf_cg sample

然后将会在$PHP_YAF_SRC/tools/cg/output下生成sample应用。

tips

将此应用移动到你的workspace目录下

4. 配置PHPstorm

按照普通项目设置run configurations即可。增加项目的PHP build-in web server,设置好项目根目录,即可。


css3备忘

本文将会着重记录一下css的高级属性与css3的几个特有的属性(其实目前就两个,有空再回来补)。

CSS3 transform 属性

transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

div
{
transform:rotate(7deg);
-ms-transform:rotate(7deg); 	/* IE 9 */
-moz-transform:rotate(7deg); 	/* Firefox */
-webkit-transform:rotate(7deg); /* Safari 和 Chrome */
-o-transform:rotate(7deg); 	/* Opera */
}

translate 	定义 2D 转换
scale		定义 2D 缩放转换
rotate(angle)	定义 2D 旋转,在参数中规定角度
skew(x-angle,y-angle)	定义沿着 X 和 Y 轴的 2D 倾斜转换。

CSS高级选择器 nth-child

:nth-child(2)选取第几个标签,“2可以是你想要的数字”
.demo01 li:nth-child(2){background:#090}

:nth-child(n+4)选取大于等于4标签,“n”表示从整数,下同
.demo01 li:nth-child(n+4){background:#090}

:nth-child(-n+4)选取小于等于4标签
.demo01 li:nth-child(-n+4){background:#090}

:nth-child(2n)选取偶数标签,2n也可以是even
.demo01 li:nth-child(2n){background:#090}

:nth-child(2n-1)选取奇数标签,2n-1可以是odd
.demo01 li:nth-child(2n-1){background:#090}

:nth-child(3n+1)自定义选取标签,3n+1表示“隔二取一”
.demo01 li:nth-child(3n+1){background:#090}

:last-child选取最后一个标签
.demo01 li:last-child{background:#090}

:nth-last-child(3)选取倒数第几个标签,3表示选取第3个