美文网首页玩转树莓派树莓派PHP经验分享
RaspberryPi树莓派从装机到完整搭建web服务器

RaspberryPi树莓派从装机到完整搭建web服务器

作者: 昕行 | 来源:发表于2018-01-20 19:09 被阅读546次

            本篇文章将介绍从一个新的raspberryPi主板装机到完成web服务器搭建的全过程,文章将分为三个较大的部分:U盘装机篇、初始设置篇,以及服务器搭建篇。当你完成本文的所有操作后将会拥有一个稳定运行的raspberry pi服务器,可为下一步的网站搭建提供基础。

    为此你应该准备的工具如下:

    1.Raspberry主板(这里选用Raspberry Pi 3 Model B)

    2.U盘一个(建议选用8G及8G以上的U盘)

    3.SD卡(用于设置U盘启动,比20M大点即可)

    4.计算机(用于镜像写入与调试)以及必要的5V 2.5A电源,显示器等


    U盘装机篇

    首先你需要下载需要的系统镜像文件              raspberry pi官网下载通道

    因为是作为服务器使用所以不需要桌面等效果,因此下载命令行系统即可,选择RASPBIAN STRETCH LITE,如果你觉得ZIP的下载链接过于缓慢,建议更换为Torrent下载方式。

    官网界面

          下载完成后使用Win32DiskImager进行写入镜像,点击蓝色文件夹选择镜像文件,注意要将镜像文件解压,得到img为扩展名的文件。Device选择你的U盘盘符即可。点击Write进行写入镜像。

    镜像写入

    写入完成后,为方便今后使用SSH通过计算机端进行访问,在U盘boot下直接创建空白文件ssh

    创建空白文件ssh

           注意不要带有扩展名,如果扩展名隐藏,请在控制面板-文件夹选项-查看-高级设置-隐藏已知文件类型的扩展名。(有很多新手创建txt文件后忘记或看不到txt扩展名,因此通过以下设置显示txt文件名进行删除txt扩展名创建空白文件ssh即可)

    显示文件扩展名

    到这里后,将SD卡插入计算机进行读取,将U盘根目录下的所有文件复制到SD卡根目录。将SD卡插入Rspberry Pi开发板,插好显示器HDMI线,接上电源启动树莓派。登录时输入raspberrypi默认账户进行登录(注意在linux下密码输入不会显示):

    raspberrypi login:pi 

    Password:raspberry

    登录界面

    为了输入代码的方便更改键盘设置:

    sudo raspi-config

    sudo raspi-config

    进入Raspberry Pi Software Configuration Tool (raspi-config),选择 4 Localisation Options

    Raspberry Pi Software Configuration Tool

    选择13 Change Keyboard Layout

    Change Keyboard Layout

    进入Configuring keyboard-configuration,在Keyboard model选择Generic 104-key PC

    Configuring keyboard-configuration

    选择other

    Configuring keyboard-configuration

    选择English(US)

    Configuring keyboard-configuration

    选择English(US)- English (US,alternative international)

    Configuring keyboard-configuration

    之后的一律选择默认的即可

    Configuring keyboard-configuration

    回到Raspberry Pi Software Configuration Tool (raspi-config)界面后,按Tab键跳出选择,→方向键选择Finish退出即可。

    Raspberry Pi Software Configuration Tool

    之后输入以下代码:

    echo program_usb_boot_mode=1 | sudo  tee -a  /boot/config.txt

    这行代码将'program_usb_boot_mode=1'插入到/boot/cinfig.txt文件的末尾。

    echo program_usb_boot_mode=1 | sudo  tee -a  /boot/config.txt

    使用sudo reboot命令重启树莓派后,用以下命令检查OTP设置:

    vcgencmd otp_dump | grep 17:

    如果得到的是如下结果则说明设置成功,如果不是该数字(比如17:1020000a),请重启设备再输入OTP检查代码即可。

    17:3020000a

    OTP检查

    至此设置完毕,断电或关机(输入 sudo shutdown),拔出SD卡,插入U盘,开机等待的时间需要稍微长一点,最开始会有两次重启,建议树莓派USB端口只插入U盘。到出现raspberrypi login:的出现说明已经设置成功,此时可以进行wifi设置以进行ssh的访问。以后更换镜像也不用再做以上操作,只烧录U盘镜像即可。


    初始设置篇

    首先为了能够ssh访问(注意你是否已在之前写完镜像创建空白文件ssh),我们需要进行wifi设置。

    输入以下命令,确认是否你的wif可以被raspberry pi检测到(由于U盘启动后之前在SD卡设置的键盘又被初始化,建议回到前面再进行一次键盘调整):

    sudo iwlist wlan0 scan  | grep SSID

    在这里可以看到我的wifi:“LX-WIFI”,对于校园网的同学建议用电脑或手机开热点以避开校园网认证。

    WIF信息

    通过更改配置文件直接写入WIF信息来使raspberry pi连接wif,输入以下代码:

    sudo nano /etc/wpa_supplicant/wpa_supplicant.conf  

    可以看到该配置文件下的信息为:

    wpa_supplicant.conf  原始信息

    添加wifi信息

    wpa_supplicant.conf  修改信息

    设置完wif之后输入 sudo reboot 重新启动,可以看Rapberry pi已经连接到wifi了,并且知道Raspberry pi的ip地址了,比如我的是: 192.168.253.2

    wif连接情况

    至此可以拔掉显示器,通过ssh来访问Raspberry pi了。打开PuTTY进行ssh访问,输入IP地址192.168.253.2(视自己的情况而定),点击open  PuTTY下载通道

    PUTTY

    第一次访问服务器的警告,点击是

    第一次警告

    输入账户名和密码(raspberry pi默认账户名为pi,密码为raspberry)

    输入账户名和密码

    登陆成功

    登陆成功

    为了方便今后软件的安装,我们需要将软件源更换为国内源:

    输入以下代码

    sudo nano /etc/apt/sources.list

    sudo nano /etc/apt/sources.list

    进入sources.list的文档nano编辑界面

    sources.list 原始信息

    删除原来的deb开头的内容(官方软件源),一次粘贴(在nano下粘贴只需鼠标右键点击以下就可以了)以下内容:

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

    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi 

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

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

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

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

    sources.list 修改信息

    ctrl+o键进行保存,回车确认,再ctrl+x退出

    sources.list 保存界面

    输入sodu reboot重启,待重启后再重新用PuTTY进行ssh连接。

    输入以下代码进行系统文件更新:

    sudo apt-get update

    update完成

    更新完毕,国内的软件源还是较为好用的。为了方便使用,这里还要介绍如何去将raspberry pi的时间更改为国内时间(因为默认时间是英国时间),请输入以下代码:

    sudo dpkg-reconfigure tzdata

    进入configuring tzdata界面

    configuring tzdata

    通过方向键选择Asia,并通过Pg Dn键快速移动并配合方向键选择Shanghai,回车确认即可。

    configuring tzdata

    设置完成,可输入date来看现在的时间。

    date

    到此为止,我们就完成装机和最基本的设置,接下来将介绍web服务器的搭建。


    服务器搭建篇

    传统LAMP组合对于raspberry pi显得较为笨重,为了保证服务器的高效运行,这里选择了nginx + php + sqlite的组合。

    输入以下命令,安装nginx服务器,遇到Do you want to continue输入y:

    sudo apt-get install nginx

    sudo apt-get install nginx sudo apt-get install nginx

    输入以下代码,启动nginx服务器:

    sudo /etc/init.d/nginx start

    出现绿色的ok说明启动成功,nginx安装成功。

    sudo /etc/init.d/nginx start

    输入以下代码,安装php以及sqlite

    sudo apt-get install php5-fpm php5-sqlite

    同样,输入y以继续安装过程。

    sudo apt-get install php5-fpm php5-sqlite sudo apt-get install php5-fpm php5-sqlite

    输入以下代码修改nginx配置文件

    sudo nano /etc/nginx/sites-available/default

    sudo nano /etc/nginx/sites-available/default

    通过方向键,找到listen 80行,将其前面的#号注释去掉

    listen 80

    继续找到index行,加入index.php

    加入index.php

    找到php的定义段,将这些行的注释去掉,修改后内容如下(注意有几行的#不去掉)

    找到php的定义段

    ctrl+o保存,回车确认,ctrl+x退出即可。

    输入以下代码重新加载nginx配置:

    sudo /etc/init.d/nginx reload

    显示绿色ok说明成功。

    sudo /etc/init.d/nginx reload

    测试可通过,在浏览器地址栏直接输入raspberry pi的ip地址即可:

    nginx成功运行

    测试php可通过以下操作完成:

    输入以下代码创建测试文件

    sudo nano /usr/share/nginx/www/test.php

    在文档中写入以下代码

    <?php phpinfo(); ?>

    test.php

    ctrl+o保存,回车确认,ctrl+x退出即可。在浏览器地址栏输入类似以下的地址:

    192.168.253.2/test.php

    PHP成功运行

    如果你看到的该界面说明php服务已经成功安装到raspberry pi上了,接下来为了传输的方便我们要进行FTP服务器设置。

    输入以下代码,安装vsftpd服务

    sudo apt-get install vsftpd

    vsftpd安装完成

    输入以下代码,开启vsftpd服务

    sudo service vsftpd start

    开启vsftpd服务

    输入以下代码,编辑vsftp的配置文件

    sudo nano /etc/vsftpd.conf

    vsftpd.conf

    找到anonymous_enable行更改为anonymous_enable=NO

    anonymous_enable=NO

    找到local_enable=YES行,将#号去掉

    local_enable=YES

    找到write_enable=YES行,将#去掉

    write_enable=YES

    找到local_umask=022行,将#去掉

    local_umask=022

    ctrl+o保存,回车确认,ctrl+x退出即可,输入以下代码重启服务

    sudo service vsftpd restart

    sudo service vsftpd restart

    增加一个用于ftp的用户webadmin

    sudo useradd webadmin

    sudo useradd webadmin

    输入以下代码,修改webadmin密码

    sudo passwd webadmin

    sudo passwd webadmin

    输入以下代码,让用户webadmin拥有www根目录的所有权

    sudo chown -R webadmin /usr/share/nginx/www 

    sudo chown -R webadmin /usr/share/nginx/www 

    输入以下代码,将用户webadmin的登录目录更改为www根目录

    sudo usermod -d /usr/share/nginx/www webadmin

    输入以下,重启vsftpd

    sudo service vsftpd restart

    sudo service vsftpd restart  

    使用winscp登录即可。 winscp下载通道

    winscp winscp webadmin

    到此为止一个web服务器的搭建全过程到此为止,接下来就可以进行php网站的相关制作了。


    参考资料

    感谢各大论坛的Raspberry pi爱好者的帮助,现将本文用到的资料地址在以下位置列出,供各位参考。本文基于这些资料进行甄别整理外加一些自我思考和实践完成。

    更改树莓派键盘设置  https://www.jianshu.com/p/8c474339a238

    Raspberry Pi(树莓派)国内软件源 https://www.whatled.com/post-1399.html

    树莓派 Raspberry Pi 更换国内源 http://blog.csdn.net/wanshiyingg/article/details/52887019

    如何在树莓派中设置本地时区的问题解决 https://www.cnblogs.com/maoguy/p/5678563.html

    树莓派连接wifi配置 https://www.jianshu.com/p/e22331d62a16

    无显示器使用PC远程控制树莓派方案(有线&无线)https://qiita.com/Bark/items/d1ad4e53373935701b1a

    【手把手教你树莓派3 (二)】 启动wifi模块 http://blog.csdn.net/u010900754/article/details/53041791

    从u盘启动树莓派3 http://blog.csdn.net/xukangkeke/article/details/77414119?%3E

    树莓派(raspberry pi)学习11: 将树莓派变成一个Web服务器  http://www.cnblogs.com/jikexianfeng/p/5867858.html

    树莓派(raspberry pi)学习之安装ftp服务器http://www.cnblogs.com/jikexianfeng/p/5867858.html

    RioTboard 【上手试玩】成功安装FTP服务 http://www.eeboard.com/bbs/thread-30778-1-1.html

    nano编辑器使用教程 http://www.vpser.net/manage/nano.html

    apt-get install php5时报错: 没有可用的软件包,但是它被其他软件包引用了 https://zhidao.baidu.com/question/1927185934672969387.html

    新手入门树莓派必做的四件事 http://blog.csdn.net/a_lpha/article/details/53116767

    相关文章

      网友评论

      • Bboy_2016:刚买的树莓派,准备开始大战一番,谢谢大佬。

      本文标题:RaspberryPi树莓派从装机到完整搭建web服务器

      本文链接:https://www.haomeiwen.com/subject/csjtaxtx.html