树莓派利用nginx反向代理去掉端口号

应用场景:

树莓派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

QQ截图20180923191332.png

最后编辑于:2018/09/23作者: admin

发表评论