您的位置:

Nginx反向代理安装和配置教程

一、Nginx简介

Nginx是一款轻量级的Web服务器/反向代理服务器,可以作为负载均衡器、HTTP缓存和安全方面的支持。与Apache不同,Nginx的设计原则是预测性地处理IO操作,减少服务器资源的消耗。

这篇指南将介绍如何在Ubuntu 18.04上安装和配置Nginx,并将其配置为反向代理服务器。

二、安装Nginx

首先,使用apt-get命令在Ubuntu 18.04上安装Nginx:

sudo apt-get update
sudo apt-get install nginx

安装完成后,我们可以在浏览器中访问服务器的公共IP地址,确认Nginx是否成功安装。

三、基本配置

在Nginx的主配置文件中,可以修改默认的Nginx设置。打开配置文件:

sudo nano /etc/nginx/nginx.conf

以下是一些基本的配置调整:

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
  worker_connections 768;
}

http {
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  types_hash_max_size 2048;

  include /etc/nginx/mime.types;
  default_type application/octet-stream;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  gzip on;
  gzip_disable "msie6";

  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
}

现在重新启动Nginx服务,以使配置文件生效:

sudo systemctl restart nginx

四、配置反向代理

在Nginx中配置反向代理是一件很容易的事情。可以直接在默认站点的配置文件中,添加反向代理部分。

打开默认站点配置文件:

sudo nano /etc/nginx/sites-available/default

在server段中添加以下配置:

location / {
  proxy_pass http://localhost:3000;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

上述配置中,Nginx服务器将会将所有来自于指定端口的请求转发到本地的3000端口。

完成上述修改后,请验证配置是否正确:

sudo nginx -t
sudo systemctl reload nginx

五、配置SSL证书

如果您没有购买SSL证书,可以使用Let's Encrypt提供的免费SSL证书。安装Certbot:

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx

运行Certbot:

sudo certbot --nginx -d example.com -d www.example.com

更新Nginx的SSL配置文件,启用SSL:

sudo nano /etc/nginx/sites-available/default

修改成以下内容:

server {
  listen 80;
  listen [::]:80;

  root /var/www/example.com;
  index index.html;

  server_name example.com www.example.com;

  location / {
    try_files $uri $uri/ =404;
  }

  location /api/ {
    proxy_pass http://localhost:3000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

这里将80端口重定向到443端口上,并且启用SSL安全连接。

重新验证Nginx配置是否正确,再重启Nginx服务:

sudo nginx -t
sudo systemctl reload nginx

六、总结

Nginx提供了极佳的性能和速度,也是实现反向代理的好工具。在本篇文章中,我们介绍了如何在Ubuntu 18.04上安装和配置Nginx,并将其配置为反向代理服务器。同时,还演示了如何添加SSL证书,保障你网站的安全性。

Nginx反向代理安装和配置教程

2023-05-13
Joplin Server安装及配置教程 | 实现跨平台笔记

2023-05-16
Nginx安装教程

2023-05-20
Linux运维工程师必备:Nginx安装教程

2023-05-12
CentOS Nginx安装教程

2023-05-18
Linux离线安装Nginx详细教程

2023-05-17
Linux配置Nginx

2023-05-23
nginx和linux安装与设置

2023-05-17
如何在Linux服务器上安装和配置Nginx服务器

2023-05-13
使用Nginx配置反向代理实现网站加速

2023-05-13
安装nginx:一个高性能的Web服务器和反向代理服务器

2023-05-13
配置NGINX反向代理实现负载均衡

2023-05-13
高效配置Nginx反向代理,实现负载均衡

2023-05-13
Nginx反向代理配置:将流量转发到多个Web服务器

一、什么是Nginx反向代理? Nginx是一个高性能的Web服务器,也可用于反向代理,一般用于将请求转发到多个Web服务器上。Nginx反向代理可以实现负载均衡,提高系统的稳定性和并发处理能力。举个

2023-12-08
如何在Linux系统上安装并配置Nginx服务器

在Linux系统上,Nginx是一个高性能的Web服务器,可以用于代理HTTP、TCP和UDP流量。本篇文章将详细介绍如何在Linux系统上安装并配置Nginx服务器。 一、安装Nginx 在Linu

2023-12-08
iis反向代理php(反向代理 域名)

2022-11-10
Linux安装Python3.9教程

2023-05-20
nginx安装教程windows

2023-05-20
配置nginx反向代理实现负载均衡

2023-05-13
源码安装nginx详细教程

2023-05-16