#前言
在暑假的时候想玩玩树莓派,就买了一块树莓派3B+,结果买回来也没太玩就放在宿舍吃灰,最近突然对网站很感兴趣,于是就在网上查找资料去搭建了这个web服务器,它是使用的nginx+PHP7+typecho组成的服务器。
#首先安装raspbian系统
引用了树莓派实验室的下载地址,大家可以直接下载。
下载链接:http://downloads.raspberrypi.org/raspbian_latest
默认账号:用户名:pi 密码:raspberry
使用win32 Disk Imager进行系统的烧录。
当弹出Write Successful是表示烧录成功
-还要注意系统默认是不开启SSH的,所以烧写完系统后,要在文件中创建一个没有后缀的SSH文件
#系统配置
使用树莓派通过网线 和笔记本电脑连接,首先需要去网络和共享中心》更改适配器设置》WLAN属性》共享》允许连接
接下来打开cmd命令 使用 arp -a 查找树莓派IP地址,并使用putty进行连接
*连接上以后可以设置静态IP地址,方便下次连接
- 打开/etc/network/interfaces
- 根据里面的注释发现设置静态ip需要修改的文件是/etc/dhcpcd.conf
- 根据dhcpcd.conf里面的注释设置静态ip,网关,DNS
例如设置wlan0的静态ip,在文件的最后加入
使用命令:
sudo nano /etc/dhcpcd.conf
在末尾添加以下内容
interface eth0 static ip_address=192.168.137.233/24 #修改成自己需要的IP static routers=192.168.137.1 #同上只需修改倒数第二位保持和上面相同 static domain_name_servers=114.114.114.114 8.8.8.8
114.114.114.114是国内的较快速的DNS服务器 8.8.8.8 是谷歌的DNS服务器
使用 CTRL+O 保存 、CTRL+X退出
重新启动 :
sudo reboot
使用自己设置的IP连接
*安装NTP进行自动对时
连接上以后,为了方便查看时间,最好更改下系统时区,这时候我们需要安装NTP,主要就是自动对时的,不用每次手动设置。
安装NTP:
sudo apt-get install ntpdate
启用NTP:
sudo timedatectl set-ntp true
修改本地时区:
sudo dpkg-reconfigure tzdata
在这一步,选择“Asia->Shanghai”
查看时间是否正确:
date
可以看到时间已经更改为北京时间了,设置完成时间以后,需要更新下软件源,建议先更新源地址为阿里云源。
编辑源:
sudo nano /etc/apt/sources.list
打开以后,将里面的代码用 # 注释掉,添加如下代码:
deb http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib deb-src http://mirrors.aliyun.com/raspbian/raspbian/ wheezy main non-free contrib deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
打开以后,将里面的代码用 # 注释掉,添加如下代码:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
替换后,更新源:
sudo apt-get update
更新后,更新已安装包:
sudo apt-get upgrade
安装过程中如果碰到(Y/n),都选择Y
更新完后,设置显示中文。
*树莓派设置中文显示
首先,安装中文字体
sudo apt-get install ttf-wqy-zenhei
安装过程中如果碰到(Y/n),都选择Y
安装完毕后执行如下命令进行本地化设置操作:
sudo raspi-config
提示: 按空格键在前面打勾或去掉勾,PageUp PageDown快速翻页,Tab键切换光标位置。
重启生效
sudo reboot
#安装和配置Nginx/PHP/SQLite3
考虑到树莓派性能比较弱鸡,如果使用的MySQL或者其他数据库,那基本上每天都会宕机,综合考虑还是适合的Nginx +的SQLite3的配置较为合适,当然PHP是必不可少的。
安装nginx:
sudo apt-get install nginx
安装SQLite3:
sudo apt-get install sqlite3
安装PHP(PHP7):
sudo apt-get install nginx php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-sqlite php7.0-xml
安装PHP-APC优化:
sudo apt-get install php-apc
安装完毕后,开始配置。
*开始配置
配置Nginx:
sudo nano /etc/nginx/nginx.conf
打开以后找到下面的位置并修改:
user www-data; worker_processes 1; #修改这里 pid /var/run/nginx.pid; events { worker_connections 64; #修改这里 #multi_accept on; }
继续向后找到gzip 去掉前面的注释修改如下:
gzip on; 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;
CTRL+O保存,CTRL+X退出(后面将直接用保存并退出代替)
配置PHP:
sudo nano /etc/php/7.0/fpm/php.ini
打开以后找到下面的代码,并修改:
; Maximum amount of memory a script may consume (128MB) ;http://php.net/memory-limit memory_limit = 32M #修改这里
保存并退出。
配置PHP-FPM:
sudo nano /etc/php/7.0/fpm/php-fpm.conf
找到一下代码,并修改:
; The maximum number of processes FPM will fork. This has been design to control ; the global number of processes when using dynamic PM within a lot of pools. ; Use it with caution. ; Note: A value of 0 indicates no limit ; Default Value: 0 process.max = 4 #修改这里
保存并退出。
配置网站的相关配置,先备份一份比较安全:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
修改配置文件:
sudo nano /etc/nginx/sites-available/default
将其中的如下内容:
location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; }
替换为:
location / { index index.html index.htm index.php default.html default.htm default.php; if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } location ~.php(/.*)*$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
保存并退出。
修改完成以后,测试下PHP已经是否能正常请立即获取iTunes
sudo nano /var/www/html/index.php
输入内容如下:
<?php phpinfo(); ?>
重启nginx和PHP7-FPM
sudo /etc/init.d/nginx restart sudo /etc/init.d/php7.0-fpm restart
在电脑浏览器中输入树莓派IP地址查看是否成功:
出现如下界面为成功:
#安装typecho
上面的配置结束以后,基本上是一个已经能正常运行的环境了,但为了能顺利安装,还需要给文件夹目录授权:
sudo chmod 755 /var/www/html -R
授权后下载最新的安装包并解压,解压完移动目录:
cd /var/www/html
sudo wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
sudo tar zxvf 1.1-17.10.30-release.tar.gz
sudo mv build/* /var/www/html
*访问你自己的blog地址:
直接在电脑浏览器输入树莓派的IP地址
出现以下界面
点击下一步:
根据自己实际情况修改,完成后点击开始安装。
如果出现:
可以手动新建一个数据库文件,使用以下代码:
sudo sqlite3 blog.db
create table test(test text);
CTRL+Z退出
再到浏览器中点击下一步成功。
在浏览器中输入树莓派 IP地址 :
例如: 192.168.137.222/admin 进入后台
出现这样的界面就代表你已经成功了
开始创作你的第一篇文章吧。
博主太厉害了,你刻苦努力学习的精神我很受鼓舞!
刚去了解了一下树莓派,很了不起的东西,简直就是一台微型计算机,只有信用卡大小,简直就是为了学习计算机编程而生的!我也准备买一台来用,你的文章给我启发很大,一直信息阻塞闭门造车,都不知今夕是何年!
今天终于试着把邮箱评论提醒功能弄好了
你可以等到明年,树莓派4就发售了,运行内存增加到了2G,可以更好的开发了。