用树莓派从0开始打造属于自己的服务器
录
1.网络设置
2.硬件购买
3.写入系统
4.开始搭建nginx服务器
1.网络设置
1.1. 申请公网ip
不多讲,向运营商进行申请(可以向宽带维修人员求助 小人曾经申请是免费的,现在不知道了)
如何判断是否是公网ip
在baidu中输入ip进行搜索,然后去ping一下自己的ip,如果能够ping通,一般就是公网ip,否则就是私网ip
可见,能够ping通,证明我的就是公网ip,但是美中不足的就是,这个ip是随机分配的,当重启光猫后,则又会重新获取了,这就需要一种新的机制了,那就是花生壳
1.2 使用花生壳进行域名绑定
参照网址:http://service.fastcom.com.cn/article-479.html
我的也进行了绑定,这样的话,只要记住域名,那么它就会自动去获取ip地址了
进行绑定了之后,可以试试通过ping 域名的方式来检查绑定成功了没有,我的成功了
路由器的部分,先到这里,下面来看看树莓派的部分
2.硬件购买
购买价格如下 |
||
名称 |
型号规格 |
价格 |
主机 |
树莓派3代B Raspberry Pi Model 3 B 板载wifi蓝牙 E14主板 |
¥190.00 |
读卡器 |
随机 |
¥9.90 |
机壳 |
随机 |
¥12.00 |
散热片 |
树梅派2代/3代专用 |
¥3.50 |
HTML转VGA线 |
随机 |
¥15.50 |
电源线 |
5V 2.5A Micro USB 电源带开关线 raspberry pi 3 |
¥17.90 |
总计 |
¥248.80 |
加上邮费的话,一共话费进行250左右,内存卡是我自己原有的
淘宝很多,这里就不介绍了
3.写入系统
3.1.必备工具
这里我们下载的是CentOS-arm.img这个系统,并且使用win32diskimager来写入内存卡
必备工具:
读卡器
内存卡(至少4G 推荐使用8G 在下使用的是16G)
一台windows的电脑
3.2 下载系统
废话不多说,这里提供几个网址给大家
教程:http://shumeipai.nxez.com/download
CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img下载连接:http://mirror.centos.org/altarch/7/isos/armhfp/CentOS-Userland-7-armv7hl-Minimal-1611-RaspberryPi3.img.xz
win32diskimager下载连接:https://nchc.dl.sourceforge.net/project/win32diskimager/Archive/win32diskimager-1.0.0-install.exe
3.3 写入系统
安装win32diskimager,一路Next(不过记得得勾选Create a desktop shortcut 在桌面创建快捷方式,不然以后可能很找)
解压系统文件
开始写入
写入ok 开始连接各个硬件(其实就只有电源线和网线需要连接以及插入内存卡)
4.开始搭建nginx服务器
4.1 获取树莓派ip地址
可以看到centos-rpi3这个的Ip地址,也就是树莓派的地址
4.2 设置路由转发
同时,也要开启DMZ设置
4.3 安装nginx程序
开始连接树莓派
命令:ssh username@host -p port
连接成功后,属于一下命令来获取nginx
#获取nginx程序
[root@centos-rpi3 ~]# wget http://nginx.org/download/nginx-1.2.9.tar.gz
#解压nginx程序 [root@centos-rpi3 ~]# tar xf nginx-1.2.9.tar.gz
#利用yum 安装pcre pcre-devel openssl openssl-devel gcc包
[root@centos-rpi3 ~]# yum install pcre pcre-devel openssl openssl-devel gcc -y
#开始安装
[root@centos-rpi3 ~]# cd nginx-1.2.9
[root@centos-rpi3 nginx-1.2.9]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx-1.2.9 --with-http_ssl_module --with-http_stub_status_module
[root@centos-rpi3 nginx-1.2.9]# make
[root@centos-rpi3 nginx-1.2.9]# make install
4.4 配置
设置配置如下:
配置路径
[root@centos-rpi3 conf]# pwd
/usr/local/nginx-1.2.9/conf
[root@centos-rpi3 conf]#
[root@centos-rpi3 conf]# sed -n 30,40p nginx.conf #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 1234;
#hai-yan.ticp.net是我的域名 server_name hai-yan.ticp.net; #charset koi8-r; [root@centos-rpi3 conf]#
4.5 实验
检查语法
[root@centos-rpi3 conf]# /usr/local/nginx-1.2.9/sbin/nginx -t nginx: the configuration file /usr/local/nginx-1.2.9/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx-1.2.9/conf/nginx.conf test is successful
启动nginx [root@centos-rpi3 conf]# /usr/local/nginx-1.2.9/sbin/nginx [root@centos-rpi3 conf]#
查看nginx是否启动
[root@centos-rpi3 conf]# ps aux | grep nginx root 5792 0.0 0.2 7820 1912 ? Ss 05:07 0:00 nginx: master process /usr/local/nginx-1.2.9/sbin/nginx nginx 5793 0.0 0.2 7976 2464 ? S 05:07 0:00 nginx: worker process root 5795 0.0 0.2 6400 2264 pts/0 S+ 05:08 0:00 grep --color=auto nginx [root@centos-rpi3 conf]#
关闭防火墙
[root@centos-rpi3 conf]# systemctl stop firewalld.service [root@centos-rpi3 conf]#
本机测试
[root@centos-rpi3 conf]# curl -I hai-yan.ticp.net:1234 HTTP/1.1 200 OK Server: HaiYan/1.2.9 Date: Wed, 29 Mar 2017 05:11:55 GMT Content-Type: text/html Content-Length: 560 Last-Modified: Wed, 29 Mar 2017 02:22:34 GMT Connection: keep-alive Accept-Ranges: bytes [root@centos-rpi3 conf]#
yan@yan:~$ curl -I hai-yan.ticp.net:1234 HTTP/1.1 200 OK Server: HaiYan/1.2.9 Date: Wed, 29 Mar 2017 05:12:28 GMT Content-Type: text/html Content-Length: 560 Last-Modified: Wed, 29 Mar 2017 02:22:34 GMT Connection: keep-alive Accept-Ranges: bytes yan@yan:~$
接下来只需要修改html文件,写入自己想要写入的内容即可
5.总结
我就只总结我在实验工程中出现的问题:
1.域名转发不成功
解决:求助运营商将自动获取ip修改为PPPOE拨号,然后在路由进行设置转发即可
2.本机电脑ping不通wan口ip(就是百度Ip的那个结果)
解决:向运营商证实自家网络是公网ip,用路由检测工具检测根DNS是否正常,如果不正常,则换一个路由即可(我就是换了一个路由)
3.在本地能够正确浏览网页(curl -I ipaddress),但是用其他机器访问网址时出现无法找到
解决:关闭防火墙和selinux,或者开放需要的端口
总结:
最主要的就是设置路由转发,如果在外网能够连接到服务器,那么一切都好说,其他的只是时间问题,总结一下最基本搭建服务器的步骤:
1.购买硬件
2.设置网络为公网ip
3.设置路由转发 ---> 转发至局域网服务器上
4.检测,ping即可
5.安装软件
6.布置网页