Nginx 安装详细教程

  

Nginx 安装详细教程

简介

Nginx 是一款高性能的 Web 服务器,可以作为反向代理、负载均衡等用途。在本篇文章中,我们将讲解如何在 Linux 系统下进行 Nginx 的安装。

安装 Nginx

步骤一:更新系统软件包

在安装 Nginx 前,首先要确保系统中的软件包已经更新到最新版本。可以使用如下命令来更新系统软件包:

sudo apt update
sudo apt upgrade

步骤二:安装 Nginx

  1. 使用以下命令安装 Nginx:
sudo apt install nginx
  1. 安装完成后,启动 Nginx 服务:
sudo systemctl start nginx
  1. 检查 Nginx 的状态:
sudo systemctl status nginx

如果看到如下输出,说明 Nginx 已经运行起来:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2021-05-18 09:48:15 UTC; 4min 23s ago

步骤三:设置防火墙规则(可选)

如果系统中有防火墙软件,需要设置开放相关端口,允许 Nginx 的请求通过。

ufw 防火墙为例,使用以下命令开放 HTTP 和 HTTPS 端口:

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'

示例说明一:配置静态服务器

在默认情况下, Nginx 配置文件位于 /etc/nginx/nginx.conf, 网站文件位于 /var/www/html。我们可以通过配置 Nginx,将这个目录作为一个静态资源文件目录。

  1. 备份默认配置文件:
sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
  1. 创建一个新的 Nginx 配置文件:
sudo nano /etc/nginx/nginx.conf 

复制以下内容并保存:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

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;

    server {
        listen 80;
        server_name example.com;
        root /var/www/html;
        index index.html;
    }
}
  1. 重新启动 Nginx:
sudo systemctl restart nginx
  1. 创建测试文件:
sudo nano /var/www/html/index.html

在文件中输入 "Hello, Nginx!",保存并退出。

  1. 浏览器中输入服务器的 IP 地址或域名,如: http://example.com,如果成功返回“Hello, Nginx!”,则表明 Nginx 已配置成功。

示例说明二:反向代理服务器

Nginx 也可以被用作反向代理服务器。在这个例子中,我们将使用 Nginx 来代理请求到一个本地的 Node.js 服务。

  1. 安装 Node.js

在反向代理时需要使用到 Node.js,如之前可能需要先更新系统并安装 Node.js:

sudo apt update
sudo apt install nodejs
  1. 启动 Node.js 服务

创建一个 server.js 文件,并输入以下内容:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, Node.js!');
});

server.listen(3000, () => {
  console.log(`Node.js server running at http://localhost:3000/`);
});

使用以下命令启动该服务:

node server.js
  1. 配置 Nginx

备份默认配置文件:

sudo mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

创建一个新的 Nginx 配置文件:

sudo nano /etc/nginx/nginx.conf 

复制以下内容并保存:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

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;

    upstream nodejs {
        server 127.0.0.1:3000;
    }

    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://nodejs;
        }
    }
}

4.重新启动 Nginx:

sudo systemctl restart nginx

5.测试代理:

在浏览器中输入服务器的 IP 地址或域名,如: http://example.com,如果成功返回“Hello, Node.js!”,则表明反向代理已经成功配置。

结论

以上就是在 Linux 系统下安装、配置 Nginx 的完整攻略,包括两个常见的示例。希望能够帮助大家成功安装、使用 Nginx。

相关文章