应用场景:
树莓派3B+安装motion做网页版监控不错,但它是默认8080端口,每次访问只能IP+端口号这样访问,在我在树莓派上搭建了DNS服务器之后呢,电脑可以通过域名+端口访问了(当然前提是改电脑的DNS为树莓派的IP地址)。但是加端口还是很不方便,那么如何去掉端口号呢?首先可以修改motion的端口号为80,但是这就把80端口给占用了,之后我再想在树莓派搭建网站就的用其他端口了,这自然是不行的,所以只能在不改motion端口的基础上来实现,下面是我通过jiankong.com域名实现访问motion网业监控的方法,前提是DNS弄好了可以用域名解析到IP:
1. 安装nginx,通过nginx反向代理来去掉端口号
sudo apt-get install nginx -y 1
1.1 修改nginx的配置文件
sudo nano /etc/nginx/sites-available/default
1.2 以下几个选项注意一下:
listen 80; //监听的端口号,如果与其它软件冲突,可以在这里更改
root /var/www/html; //nginx 默认路径html所在路径,奇怪树莓派上的nginx居然和apache默认目录同一个,centos一般在/usr/share/nginx/html
index index.html index.htm index.php; //nginx默认寻找的网页类型,我们可以增加一个index.php
1.3 启动nginx
sudo nginx
在树莓派没有开防火墙的情况下电脑输入树莓派IP就可以访问到nginx欢迎页面了
2. 配置反向代理
为啥一会用vim一会用nano,因为nano复制粘贴很方便而vim删除整行和查找字符很方便,二者互补。
新增一个专门反向代理配置文件,不要轻易操作nginx.conf主配置文件,以免牵一发而动全身。毕竟以后nginx要做很多其他的事,养成好的习惯。
sudo nano /etc/nginx/conf.d/proxy.conf
下面是配置文件内容
server {
listen 80;
server_name jiankong.com www.jiankong.com;
location / {
proxy_pass http://localhost:8090;//注意这里我改了motion的配置文件端口为8090了
index index.html index.htm;
}
}
修改了nginx的配置文件要先测试是否正常
sudo nginx -t
如果提示ok就可以重载nginx配置文件了
sudo nginx -s reload
此时电脑端用谷歌浏览器输入域名jiankong.com就可以看到画面了,谷歌浏览器的画面是在正中间的,UC在左上角。
3.nginx配置多站点
树莓派装好nginx之后只做反代显然是浪费的,必须在上面多泡几个网站,比如视频网站video.com个人博客blog.com
多站点就是在/etc/nginx/conf.d/下面新建配置文件,一个站点一个文件
sudo nano /etc/nginx/conf.d/blog-com.conf
配置文件内容
server {
listen 80;
server_name blog.com www.blog.com;//这个域名是我做的示范
root /var/www/html;//就用默认目录
location / {
index index.html index.htm;
}
}
接着在编辑index.html的内容
sudo echo hello >> /var/www/html/index.html
接着测试nginx的配置文件
sudo nginx -t
OK的话就重启
sudo nginx -s reload
这时候浏览器输入域名就可以访问到页面了 ,hello
发表评论