一文带你搞懂什么是Nginx服务器

一文带你搞懂什么是Nginx服务器

Nginx服务器是一种轻量级的Web服务器和反向代理服务器。它被设计用来处理高并发的网络请求和静态资源的分发,同时对于动态Web应用具有较好的性能表现。

Nginx服务器的基本特性

  • 轻量级:Nginx的设计理念是高性能、低内存占用,擅长处理高并发连接和静态文件请求,适合用作静态资源服务器或反向代理服务器。
  • 高性能:相比于传统的Apache服务器,Nginx在处理静态资源和并发请求时表现更加出色。它通过事件驱动、异步非阻塞的设计使得能够处理大量并发请求,同时占用更低的系统资源。
  • 负载均衡:Nginx支持负载均衡功能,可将请求分发到多个后端服务器上,从而提升应用的性能和可靠性。
  • 动态模块:Nginx拥有广泛的动态模块库,可以通过编译安装或第三方模块集成来扩展功能。
  • 安全性:Nginx支持防火墙、访问控制、HTTPS等多项安全特性,可以保证应用的数据与通信安全。

Nginx的应用场景

  • 静态资源服务器:Nginx可以作为一个高性能的静态资源服务器,快速地响应客户端请求,实现图片、JS、CSS等静态资源的访问。
  • 反向代理服务器:Nginx可以做反向代理服务器,负责重定向和负载均衡,分配应用请求到指定的后台Web服务器。
  • Web应用服务器:Nginx支持FastCGI、uWSGI、SCGI等协议,可以配置为Web应用服务器,运行PHP、Python、Java等动态Web应用。
  • 云平台负载均衡器:Nginx可用于云平台负载均衡器实现,支持动态扩展、容灾备份、故障转移等功能,为云计算企业提供高效的负载均衡服务。

Nginx的安装与配置

下面分别以Ubuntu和CentOS为例介绍Nginx的安装和配置。

Ubuntu下的安装和配置

Step 1:更新软件源

sudo apt update
sudo apt upgrade

Step 2:安装Nginx

sudo apt install nginx

Step 3:启动Nginx

sudo service nginx start

CentOS下的安装和配置

Step 1:更新软件源

sudo yum update

Step 2:添加Nginx源

sudo yum install epel-release

Step 3:安装Nginx

sudo yum install nginx

Step 4:启动Nginx

sudo systemctl start nginx

Nginx与Apache的比较

Nginx与Apache是目前流行的两个Web服务器,它们使用不同的处理机制。

  • Apache是基于多进程的模型,在处理新连接的时候,每个连接都会创建新的进程或线程来处理,这样会导致大量的系统资源被占用。
  • Nginx采用事件驱动的方式,通过一个主线程不断的轮询每一个连接,将连接交给一个工作线程进行处理,这样可以做到较少的进程开销和较少的上下文切换,提高了系统处理能力。

示例1:建立静态资源服务器

Step 1:进入Nginx配置文件目录

cd /etc/nginx/

Step 2:创建新的站点

sudo mkdir sites-available
sudo mkdir sites-enabled
sudo touch sites-available/example.com

Step 3:编辑站点配置文件

sudo vi /etc/nginx/sites-available/example.com

在文件中写入下面代码:

server {
    listen       80;
    server_name  example.com;
    root /var/www/example.com;
    location / {
        index index.html;
    }
    error_page  404              /404.html;
    location = /404.html {
        internal;
    }
}

Step 4:激活站点配置

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Step 5:创建项目目录

sudo mkdir /var/www/example.com
cd /var/www/example.com
sudo touch index.html

在index.html文件中加入一段文字

Hello, World! This is my first Nginx site.

Step 6: 重启Nginx

sudo service nginx restart

现在,你可以在浏览器中输入 http://example.com 来查看自己的网站。

示例2:配置动态应用服务器

Step 1:安装PHP和Nginx

sudo apt install php-fpm
sudo apt install nginx

Step 2:创建网站根目录和PHP文件

sudo mkdir /var/www/phpsite
sudo touch /var/www/phpsite/index.php

在index.php中输入:

<?php
echo "<h1>Hello, World!</h1>";
?>

Step 3:创建Nginx站点配置文件

sudo vi /etc/nginx/sites-available/phpsite

在文件中输入:

server {
    listen 80;
    server_name  phpsite.com;
    root /var/www/phpsite;
    index index.php;

    location / {
            try_files $uri $uri/ /index.php?$query_string;
            }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/phpsite$fastcgi_script_name;
    }
}

Step 4:将新站点设置为启动状态

sudo ln -s /etc/nginx/sites-available/phpsite /etc/nginx/sites-enabled/
sudo service nginx restart

现在,你可以在浏览器中访问 http://phpsite.com/index.php 直接查看PHP网页。

至此,你已经学会了如何安装、配置和使用Nginx服务器。祝你愉快!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文带你搞懂什么是Nginx服务器 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • nginx配置反向代理,文件共享等

    user www-data;worker_processes auto;pid /run/nginx.pid; events {        worker_connections 768;        # multi_accept on;} http {         ##        # Basic Settings        ##      …

    Nginx 2023年4月13日
    00
  • nginx安装报错:configure: error: the HTTP rewrite module requires the PCRE library

    参考:http://blog.51cto.com/williamx/958398 需要安装pcre-devel与openssl-devel yum -y install pcre-devel openssl openssl-devel

    Nginx 2023年4月9日
    00
  • Linux安装libfastcommon+fastdfs+nginx

    yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y 安装libfastcommon cd /opt/fastdfs //下载 git clone https://github.com/happyf…

    Nginx 2023年4月13日
    00
  • docker上启动nginx,并配置修改nginx的配置文件 docker上启动nginx,并配置修改nginx的配置文件

      1.使用docker 下载nginx 镜像  docker pull nginx 2.启动nginx docker run –name nginx -p 80:80 -d nginx 这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf ,进入容器,命令: docker exec -it nginx bash nginx.con…

    Nginx 2023年4月13日
    00
  • 宝塔面板上的安装Nginx的配置路径问题

    虽说装上宝塔面板确实省下了安装软件时不必要的麻烦,问题是学过一点Nginx或Apache,就不需要宝塔来创建网站了。 关于在宝塔上安装了Nginx后,找不到Nginx对应网站的配置文件,其实一直在如下路径中 如果是直接安装Nginx,没有用到宝塔面板来装,默认路径可以放在/usr/nginx下,这样就可以随便来配置网站相关的信息了。 如:网站:http://…

    Nginx 2023年4月13日
    00
  • 查看nginx配置文件路径和资源文件路径的方法

    要查看Nginx配置文件路径和资源文件路径,可以按照以下步骤进行操作。 1. 查看Nginx配置文件路径 Nginx的配置文件一般位于/etc/nginx目录下,如果不确定具体路径,可以通过以下两种方法来查找。 方法一:查看Nginx服务配置文件路径 使用命令 nginx -t 可以检查当前Nginx配置文件是否有语法错误。在执行命令的过程中会输出当前的配置…

    Nginx 2023年5月16日
    00
  • Docker中安装nginx

      步骤:   1 、docker pull nginx      2、docker images     3、docker run -d -p 80:80 –name nginx nginx       4、docker ps     5、查看是否可以访问 注意:我这里是安装在云服务器的docker中。   出现上面的页面,说明nginx已经正常启动了。…

    2023年4月10日
    00
  • nginx 1.20.1 编译安装

    下载源码包 nginx-1.20.1.tar.gz 下载地址: http://nginx.org/en/download.html 系统环境 CentOS Linux release 7.5.1804 (AltArch) 安装包 $sudo yum -y install gcc make pcre-devel openssl-devel   解压 $ sud…

    Nginx 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部