树老大 发表于 2013-5-19 10:22:55

树莓派学习11: 将树莓派变成一个Web服务器

将树莓派变成一个Web服务器,通过访问网页,就可以控制树莓派,比如:查看摄像头\开灯等等.
一想到Linux Web服务器,我们首先想到的是,Apache + MySql + Php.树莓派可以安装这个LAMP系列,但Apache 和 MySql对于树莓派这个小小的机器,太重了,主要是消耗内存多\速度慢\占用磁盘大(约200M吧)
所以要安装一个轻量级的Web服务器.经试用,推荐组合为:nginx + php + sqlite    nginx 是个轻量级的Web服务器,比Apache不差    sqlite 是个最轻量级的数据库    php大家都很熟悉了,Web脚本语言
1,安装nginxweb服务器 (约6MB)
sudo apt-get install nginx
2,启动nginx
sudo /etc/init.d/nginx start
nginx的www根目录默认在 /usr/share/nginx/www中

3,安装php和sqlite(约3MB)
sudo apt-get install php5-fpm php5-sqlite
4,修改nginx的配置文件
sudo nano /etc/nginx/sites-available/default
4.1 找到listen行,将其前面的#号注释去掉,修改后内容如下
listen 80; ## listen for ipv4.

4.2 找到index行,加入index.php,修改后内容如下
index index.php index.html index.htm

4.3 找到php的定义段,将这些行的注释去掉 ,修改后内容如下
location ~ .php$ {
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
}php段中有一些其它定义,不要去动它,比如:#      fastcgi_split_path_info ...
#      fastcgi_pass 127.0.0.1:9000
5.重新加载nginx的配置
sudo /etc/init.d/nginx reload
6, 测试一下,通过主机的IE访问树莓派,可以看到主页(表示Web服务器已正常启动)

7. 在树莓派中生成一php文件,测试一下phpsudo nano /usr/share/nginx/www/test.php
在文件中输入以下内容
存盘退出
IE访问一下这一页,说明php也是OK的

8, 我们还需要安装一个ftp服务器,用于对web上下载文件安装vsftpd,用于web内容的ftpd上传,安装方法见我的上一篇博文:树莓派(raspberry pi)学习10: 安装ftp服务器(http://blog.csdn.net/c80486/article/details/8460854)
9,生成一个网站管理员用户,用于ftp上下载网站文件,如下
增加一个用户,用户名为webadmin
    sudo useradd webadmin
修改用户webadmin的密码
    sudo passwd webadmin
按系统提示,输入密码,例如:123456
让用户webadmin拥有www根目录的所有权
sudo chown -R webadmin /usr/share/nginx/www

将用户webadmin的登录目录更改为www根目录
sudo usermod -d /usr/share/nginx/www webadmin
重启vsftpd
sudo service vsftpd restart

OK,配置完成,用户webadmin登录ftp后,将直接进入www根目录,并可上下载文件\创建目录\删除文件等等.

aini2800 发表于 2013-6-5 05:59:44

怎么没人顶??新手学习了

hbyhzx 发表于 2013-6-6 11:54:59

写的很详细。

yujianxuechuan 发表于 2013-6-11 10:04:16

不错,老大的教程一直很好

dwhsmart 发表于 2013-7-2 01:26:02

感谢,非常好。

玉中石 发表于 2013-7-5 00:02:06

到了第七步,就不会了,test.php到底写入了什么内容呢

hzydys 发表于 2013-7-15 15:15:33

玉中石 发表于 2013-7-5 00:02 static/image/common/back.gif
到了第七步,就不会了,test.php到底写入了什么内容呢

<?phpinfo(); ?>
有这句才能显示楼主php信息

rolandhii 发表于 2013-7-15 16:34:47

感谢分享,新手学习中。

chinesebear 发表于 2013-9-12 23:01:49

root@raspberrypi:/var/lib/nginx# sudo /etc/init.d/nginx start
Starting nginx: nginx: "fastcgi_pass" directive is not allowed here in /etc/nginx/sites-enabled/default:69
nginx: configuration file /etc/nginx/nginx.conf test failed
楼组解惑,遇到这样的错误,是怎么回事?

balice 发表于 2013-10-1 00:39:45

请问我如果想分享一个文件夹里的图片是否可以用nginx做到?如果可以,怎么做呢?
页: [1] 2 3 4 5 6
查看完整版本: 树莓派学习11: 将树莓派变成一个Web服务器