一文带你搞懂什么是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技术站