在树莓派2上安装 Nginx 并将其作为反向代理
我习惯用 Apache 来带 PHP,但是我的树莓派上还装了其他 WebServer,例如 Python 的 Django 以及 Node.js,于是我打算装个 Nginx
来当反向代理
0x00 修改 Apache 监听的端口
因为我之前安装了 Apache 并且其监听的是 80 端口,因此需要先将其改成其他端口(这里我改成 8080)。如果你没有安装 Apache 的话可以直接跳过这步看到 0x01
。
sudo vi /etc/apache2/ports.conf
把 Listen 80
改成 Listen 8080
,保存并退出(:wq
),接着修改虚拟主机的配置
sudo vi /etc/apache2/sites-enabled/000-default.conf
把 <VirtualHost *:80>
改成 <VirtualHost *:8080>
,然后重启 Apache:
sudo /etc/init.d/apache2 restart
补充一下启动/停止 Apache 的命令,防止自己忘了(该死的健忘症。。)
# 启动 Apache
sudo /etc/init.d/apache2 start
# 停止 Apache
sudo /etc/init.d/apache2 stop
0x01 安装 Nginx
首先安装好 Nginx
sudo apt-get install nginx
启动 Nginx:
sudo /etc/init.d/nginx start
0x02 设置反向代理
修改 Nginx 配置。
sudo vi /etc/nginx/sites-available/default
如果你是想用 Nginx 来带 PHP 的话找到location ~ \.php$ {...}
这段,然后把里面的注释去掉。
下面我们来说把 Nginx 当成反向代理的方法:
把 server{...}
这一部分注释掉,然后用下面的配置:
server{
listen 80;
server_name _; # 反向代理的域名或ip,可以直接填写下划线
location / {
proxy_pass http://127.0.0.1:8080; #代理指向的服务器:端口,我这里指向的是本机的 Apache
}
}
然后重启 Nginx
sudo /etc/init.d/nginx reload
参考资料: