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

        本篇文章将介绍从一个新的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下载方式。

RaspberryPi树莓派从装机到完整搭建web服务器_第1张图片
官网界面

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

RaspberryPi树莓派从装机到完整搭建web服务器_第2张图片
镜像写入

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

创建空白文件ssh

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

RaspberryPi树莓派从装机到完整搭建web服务器_第3张图片
显示文件扩展名

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

raspberrypi login:pi

Password:raspberry

RaspberryPi树莓派从装机到完整搭建web服务器_第4张图片
登录界面

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

sudo raspi-config

RaspberryPi树莓派从装机到完整搭建web服务器_第5张图片
sudo raspi-config

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

RaspberryPi树莓派从装机到完整搭建web服务器_第6张图片
Raspberry Pi Software Configuration Tool

选择13 Change Keyboard Layout

RaspberryPi树莓派从装机到完整搭建web服务器_第7张图片
Change Keyboard Layout

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

RaspberryPi树莓派从装机到完整搭建web服务器_第8张图片
Configuring keyboard-configuration

选择other

RaspberryPi树莓派从装机到完整搭建web服务器_第9张图片
Configuring keyboard-configuration

选择English(US)

RaspberryPi树莓派从装机到完整搭建web服务器_第10张图片
Configuring keyboard-configuration

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

RaspberryPi树莓派从装机到完整搭建web服务器_第11张图片
Configuring keyboard-configuration

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

RaspberryPi树莓派从装机到完整搭建web服务器_第12张图片
Configuring keyboard-configuration

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

RaspberryPi树莓派从装机到完整搭建web服务器_第13张图片
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文件的末尾。

RaspberryPi树莓派从装机到完整搭建web服务器_第14张图片
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

RaspberryPi树莓派从装机到完整搭建web服务器_第15张图片
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”,对于校园网的同学建议用电脑或手机开热点以避开校园网认证。

RaspberryPi树莓派从装机到完整搭建web服务器_第16张图片
WIF信息

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

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 

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

RaspberryPi树莓派从装机到完整搭建web服务器_第17张图片
wpa_supplicant.conf  原始信息

添加wifi信息

RaspberryPi树莓派从装机到完整搭建web服务器_第18张图片
wpa_supplicant.conf  修改信息

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

RaspberryPi树莓派从装机到完整搭建web服务器_第19张图片
wif连接情况

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

RaspberryPi树莓派从装机到完整搭建web服务器_第20张图片
PUTTY

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

RaspberryPi树莓派从装机到完整搭建web服务器_第21张图片
第一次警告

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

RaspberryPi树莓派从装机到完整搭建web服务器_第22张图片
输入账户名和密码

登陆成功

RaspberryPi树莓派从装机到完整搭建web服务器_第23张图片
登陆成功

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

输入以下代码

sudo nano /etc/apt/sources.list

RaspberryPi树莓派从装机到完整搭建web服务器_第24张图片
sudo nano /etc/apt/sources.list

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

RaspberryPi树莓派从装机到完整搭建web服务器_第25张图片
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

RaspberryPi树莓派从装机到完整搭建web服务器_第26张图片
sources.list 修改信息

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

RaspberryPi树莓派从装机到完整搭建web服务器_第27张图片
sources.list 保存界面

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

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

sudo apt-get update

RaspberryPi树莓派从装机到完整搭建web服务器_第28张图片
update完成

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

sudo dpkg-reconfigure tzdata

进入configuring tzdata界面

RaspberryPi树莓派从装机到完整搭建web服务器_第29张图片
configuring tzdata

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

RaspberryPi树莓派从装机到完整搭建web服务器_第30张图片
configuring tzdata

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

RaspberryPi树莓派从装机到完整搭建web服务器_第31张图片
date

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


服务器搭建篇

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

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

sudo apt-get install nginx

RaspberryPi树莓派从装机到完整搭建web服务器_第32张图片
sudo apt-get install nginx
RaspberryPi树莓派从装机到完整搭建web服务器_第33张图片
sudo apt-get install nginx

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

sudo /etc/init.d/nginx start

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

RaspberryPi树莓派从装机到完整搭建web服务器_第34张图片
sudo /etc/init.d/nginx start

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

sudo apt-get install php5-fpm php5-sqlite

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

RaspberryPi树莓派从装机到完整搭建web服务器_第35张图片
sudo apt-get install php5-fpm php5-sqlite
RaspberryPi树莓派从装机到完整搭建web服务器_第36张图片
sudo apt-get install php5-fpm php5-sqlite

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

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

RaspberryPi树莓派从装机到完整搭建web服务器_第37张图片
sudo nano /etc/nginx/sites-available/default

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

RaspberryPi树莓派从装机到完整搭建web服务器_第38张图片
listen 80

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

RaspberryPi树莓派从装机到完整搭建web服务器_第39张图片
加入index.php

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

RaspberryPi树莓派从装机到完整搭建web服务器_第40张图片
找到php的定义段

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

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

sudo /etc/init.d/nginx reload

显示绿色ok说明成功。

RaspberryPi树莓派从装机到完整搭建web服务器_第41张图片
sudo /etc/init.d/nginx reload

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

RaspberryPi树莓派从装机到完整搭建web服务器_第42张图片
nginx成功运行

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

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

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

在文档中写入以下代码

RaspberryPi树莓派从装机到完整搭建web服务器_第43张图片
test.php

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

192.168.253.2/test.php

RaspberryPi树莓派从装机到完整搭建web服务器_第44张图片
PHP成功运行

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

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

sudo apt-get install vsftpd

RaspberryPi树莓派从装机到完整搭建web服务器_第45张图片
vsftpd安装完成

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

sudo service vsftpd start

RaspberryPi树莓派从装机到完整搭建web服务器_第46张图片
开启vsftpd服务

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

sudo nano /etc/vsftpd.conf

RaspberryPi树莓派从装机到完整搭建web服务器_第47张图片
vsftpd.conf

找到anonymous_enable行更改为anonymous_enable=NO

RaspberryPi树莓派从装机到完整搭建web服务器_第48张图片
anonymous_enable=NO

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

RaspberryPi树莓派从装机到完整搭建web服务器_第49张图片
local_enable=YES

找到write_enable=YES行,将#去掉

RaspberryPi树莓派从装机到完整搭建web服务器_第50张图片
write_enable=YES

找到local_umask=022行,将#去掉

RaspberryPi树莓派从装机到完整搭建web服务器_第51张图片
local_umask=022

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

sudo service vsftpd restart

RaspberryPi树莓派从装机到完整搭建web服务器_第52张图片
sudo service vsftpd restart

增加一个用于ftp的用户webadmin

sudo useradd webadmin

RaspberryPi树莓派从装机到完整搭建web服务器_第53张图片
sudo useradd webadmin

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

sudo passwd webadmin

RaspberryPi树莓派从装机到完整搭建web服务器_第54张图片
sudo passwd webadmin

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

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

RaspberryPi树莓派从装机到完整搭建web服务器_第55张图片
sudo chown -R webadmin /usr/share/nginx/www

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

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

RaspberryPi树莓派从装机到完整搭建web服务器_第56张图片

输入以下,重启vsftpd

sudo service vsftpd restart

RaspberryPi树莓派从装机到完整搭建web服务器_第57张图片
sudo service vsftpd restart

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

RaspberryPi树莓派从装机到完整搭建web服务器_第58张图片
winscp
RaspberryPi树莓派从装机到完整搭建web服务器_第59张图片
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

你可能感兴趣的:(RaspberryPi树莓派从装机到完整搭建web服务器)