树莓派

树莓派学习网站
http://www.chinagtd.com

树莓派入门实务(原创)
http://www.shumeipai.net/thread-27636-1-3.html

给树莓派挂载移动硬盘或U盘
http://shumeipai.nxez.com/2013/09/08/raspberry-pi-to-mount-the-removable-hard-disk.html

update由于没有公钥,无法验证下列签名
http://rpi.linux48.com/GPG-error.html

使用raspi-config配置树莓派
http://shumeipai.nxez.com/2013/09/07/raspi-config-configuration-raspberry-pie.html

## HDMI-VGA转换器黑屏的排障方案

>

`hdmi_force_hotplug=1`
`config_hdmi_boost=4`
`hdmi_group=2`
`hdmi_mode=9`
`hdmi_drive=2`
`hdmi_ignore_edid=0xa5000080`
`disable_overscan=1`

http://shumeipai.nxez.com/2013/08/31/hdmi-vga-converter-black-screen-troubleshooting-program.html

## 启用root账号和修改默认账号
>

`sudo ``passwd``**`
`sudo ``passwd``--unlock root`

http://shumeipai.nxez.com/2013/08/27/pi-modify-the-default-account.html

## 我的树莓派玩机攻略—搭建nginx+mysql+php

我安装的是官方2014Q1的Raspbian。

先ssh连上Pi。

替换树莓派软件源为中科大的镜像

1

`sudo``vi``/etc/apt/sources``.list`

直接把官方源去掉或者前面加#号注释掉,添入以下源:

1

`deb http:``//mirrors``.ustc.edu.cn``/raspbian/raspbian/``wheezy main contrib non-``free``rpi`

这时apt-get更新软件包时出现错误提示Unable to locate package update,发现问题出在执行sudo apt-get install之前更换了软件源,但是却忘了更新软件源,于是执行下面的命令:

1

`sudo``apt-get update`

更新已安装的包

1

`sudo``apt-get upgrade`

安装screen

1

`sudo``apt-get ``install``screen`

安装lnmp

1

`sudo``apt-get ``install``nginx php5-fpm php5-cgi php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-memcache php5-gd php5-sqlite php5-cgi php5-xmlrpc mysql-server mysql-client`

mysql-server mysql-client nginx php5这都没什么好说的,后面的php5插件是为了兼容现在大部分php应用而添加的,php5-cli是php命令行模式,最近玩vagex的php 模式需要用到,php5-fpm作为默认Fastcgi支持已经添加进最新版php5中。
安装mysql的时候会提示输入密码,密码不要忘记就行了。

配置nginx

1

`vi``/etc/nginx/nginx``.conf`

需要做的就是限定线程数和开启gzip支持,gzip开启后将大幅降低传输html的流量占用。

1
2
3
4
5
6
7
8
9
10

`worker_processes 1; ``#只有一个CPU,单进程即可`
`worker_connections 256; ``#一般支持100在线连接就达到raspberry pi的极限了`
`gzip``on; ``#gzip开启取消前面的#让默认设置生效即可`
`gzip_disable ``"msie6"``;`
`gzip_vary on;`
`gzip_proxied any;`
`gzip_comp_level 6;`
`gzip_buffers 16 8k;`
`gzip_http_version 1.1;`
`gzip_types text``/plain``text``/css``application``/json``application``/x-javascript``text``/xml``application``/xml``application``/xml``+rss text``/javascript``;`

配置站点属性

1

`vi``/etc/nginx/sites-availiable/default`

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

`server {`
`listen 80;``#Web服务端口号,大陆用户可能需要修改为81或8080等`
`server_name pi.chensibo.com;`
`root ``/var/www``; ``#站点存储位置`

`access_log ``/var/log/nginx/localhost``.access.log;`
`#error_page 404 /404.html;`

`if``(!-e $request_filename)`
`{`
`rewrite ^(.*)$ ``/index``.php$1 last;`
`}`

`location / {`
`index index.html index.htm index.php default.html default.htm default.php; ``#加入index.php为默认页面`
`}`

`location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {`
`access_log off;`
`expires 1d;`
`}`

`location ~ .*\.php(\/.*)*$ {`
`fastcgi_split_path_info ^(.+\.php)(/.+)$;`
`fastcgi_pass unix:``/var/run/php5-fpm``.sock;`
`fastcgi_index index.php;`
`include fastcgi_params; ``#开启php解析,使用php-fpm作为Fastcgi通信模块`
`}`
`}`

配置mysql
默认安装mysql的配置是基于1G以上X86 CPU,512M内存给Mysql独占的,自编译版提供多种配置文档,对于rapsberry pi选择small.cnf就行了,我们对/etc/mysql/my.cnf进行一些修改也行。另外mysql 5.5开始默认使用Innodb数据库引擎,这是一种对分布式和高并发优化的格式,其实老版本的MYISAM引擎也足够用了,关闭Innodb引擎也能节 省大概6-10M的内存占用。

1

`vi``/etc/mysql/my``.cnf`

1
2
3
4
5
6
7
8
9

`[mysqld]`
`character-``set``-server=utf8`
`key_buffer = 16k`
`max_allowed_packet = 1M`
`thread_stack = 64K`
`thread_cache_size = 4`
`query_cache_limit = 1M`
`default-storage-engine = MYISAM`
`loose-skip-innodb`

还需要给root用户设置外部访问权限,这样局域网就可以通过ip地址统一访问,而不是127.0.0.1

1
2
3
4
5

`mysql -uroot`

`>use mysql;`

`>grant all privileges on *.* to root@``'ip地址'``identified by ``'root密码'``with grant option;`

设置php-fpm和php.ini,尽量闲置内存使用

1

`sudo``vi``/etc/php5/fpm/php``.ini`

1
2
3
4

`memory_limit=16M`

`sudo``vi``/etc/php5/fpm/php-fpm``.conf`
`process.max=4 ``#以一个进程占用16M来算,4个占用64M基本够用了`

这样优化后,启动完成系统后内存占用保持在100M以内,剩余300多M比我的一个vps内存都多了。

接下来是安装phpmyadmin到指定目录

修改树莓派的时区和网络对时

1.安装ntp,输入

1

`sudo``apt-get ``install``ntpdate`

2.修改时区,输入

1

`tzselect`

3.按照自己的时区选择:

1

`Asia->China->east china->``yes`

4.配置网络对时,设为国内的ntp服务器cn.pool.ntp.org

1

`sudo``ntpdate cn.pool.ntp.org`

5.输入“date”,时间和本地时间一样了。

或者可以用 yyyymmdd hh:mm:ss 的格式手动设置时间。

1

`date``-s ``"20140102 22:12:00"`

ENJOY IT!

 

(复制自http://blog.chensibo.com/i-work-for-nginx-mysql-php-raiders-build-raspberry-pi/)