Fork me on GitHub

Nginx在Ubuntu下的安装和简单配置

安装Nginx

# 更新包列表
sudo apt-get update

# 安装nginx
sudo apt-get install nginx

# 查看是否安装成功
nginx -v

配置Nginx

cd /etc/nginx/conf.d

# 新建代理配置文件
sudo vi 文件名

将下面的配置文件粘贴进vim中并保存退出(注意修改注释的内容)

upstream serverName {
server 127.0.0.1:8081; # 代理的端口
}

server{
listen 80; #访问的端口
server_name xx.xx.xx.xx; # 服务器ip

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;

proxy_pass http://serverName;
proxy_redirect off;
}
}

继续在命令行中操作

# 退回上一层目录
cd ..

# 编辑nginx自身配置文件
sudo vi nginx.conf
# 在vim中将server_tokens注释打开,隐藏nginx信息

# 测试配置文件是否正确
sudo nginx -t

# 重启nginx
sudo service nginx reload

编辑防火墙规则

# 添加8081端口
sudo vi /etc/iptables.up.rules

# 新加一条规则,然后保存退出
-A INPUT -p tcp --dport 8081 -j ACCEPT

# 重载iptables
sudo iptables-restore < /etc/iptables.up.rules

# 查看防火墙状态
sudo ufw status

# 开启/关闭防火墙
sudo ufw enable/disable

创建node服务进行测试

# 在用户目录下创建app.js

vi app.js
// 将这段代码粘贴进vim中,并保存退出
const http = require('http')

http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.end('Hello World!')
}).listen(8081)

console.log('server running')
node app

打开浏览器,输入网址,连接成功!