Nginx入门教程(一)

304次阅读
没有评论

共计 2932 个字符,预计需要花费 8 分钟才能阅读完成。

内容目录

Nginx简介及环境搭建

 Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

Nginx入门教程(一)

应用场景

一、HTTP服务器

 Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。

二、FTP服务器

 FTP服务器,通常会提供一个上传的功能,其它应用如果需要静态资源就从该静态服务器中获取。

三、反向代理

 反向代理(Reverse Proxy)是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

Nginx入门教程(一)

四、负载均衡

 负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

Nginx入门教程(一)

优点

  • 支持高并发:单机能够支持10W+的并发连接,这个数量取决于内存大小,极限情况下,最高可达百万级。
  • 内存消耗低:在同类型Web服务器中,Nginx比Apache占用的内存资源更少,一般情况下10K非活跃的Http Keep-Alive连接在Nginx中仅消耗2.5M内存。
  • 高扩展性:低耦合的模块设计,有丰富的第三方模块支持。
  • 高可靠性:Nginx的架构是由Master进程和Worker进程组成的,如果Worker进程出现问题,那么Master进程可以快速开启一个新的Worker进程提供服务。

 根据netcraft统计,截至2023年5月,Nginx是目前市场占有率最高的Web服务器。

Nginx入门教程(一)

Nginx安装

大部分项目是部署在Linux服务器上的,这里以Ubuntu 23.04 x64系统、root权限为例进行演示。

root@vultr:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 23.04"
NAME="Ubuntu"
VERSION_ID="23.04"
VERSION="23.04 (Lunar Lobster)"
VERSION_CODENAME=lunar
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=lunar
LOGO=ubuntu-logo

 在Ubuntu中,我们使用apt包管理器安装Nginx,在安装之前,我们通过如下指令更新包管理器中已安装的软件:

apt update

 更新完成后,再通过下述指令安装Nginx

apt install nginx -y

 待安装完成后,可以通过如下指令启查看是否安装完成:

curl localhost

 获取到的内容为:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

 若内容如上,则说明Nginx启动完成(默认页面可能会因为操作系统的不同而有所不同)。Nginx安装完成后,我们就可以直接访问本地主机localhost或IP访问默认页面。

注意:远程访问需要配置防火墙规则,否则无法访问。防火墙至少开启两个地方:一个是云服务器提供商的控制台开启,另外一个是服务器上使用防火墙管理工具(iptablesufwfirewalld[红帽系列])开启。以iptables和firewalld为例,开放80端口代码如下:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

firewall-cmd --zone=public --add-port=80/tcp

 当相关防火墙配置成功后,就可以远程访问部署了Nginx服务器的主机了。

Nginx入门教程(一)

 Nginx启动完成后,可以通过下述指令查看Nginx服务器的状态,可以看到有一个Master进程和一个Worker进程,这个Worker进程的数量,也就是Nginx服务器的核心数可以在Nginx服务器配置文件中进行配置。

systemctl status nginx

Nginx入门教程(一)

 在Nginx安装完毕并允许后,就可以使用Nginx了。Nginx的使用较为简单,常用的命令如下:

nginx -s stop       快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
nginx -s quit       平稳关闭Nginx,保存相关信息,有安排的结束web服务。
nginx -s reload     因改变了Nginx相关配置,需要重新加载配置而重载。
nginx -s reopen     重新打开日志文件。
nginx -c filename   为 Nginx 指定一个配置文件,来代替缺省的。
nginx -t            不运行,仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
nginx -v            显示 nginx 的版本。
nginx -V            显示 nginx 的版本,编译器版本和配置参数。

 使用Nginx的重点是在它的配置文件那块,包括我们通过Ip地址访问的内容、反向代理、负载均衡等Nginx的应用场景,都是通过配置文件进行配置的。

 Nginx的配置文件非常重要,我们自己写的配置文件通常需要放在/etc/nginx/conf.d/下,在该目录中的所有*.conf是属于Nginx额外的配置文件,这些配置文件都会被nginx.conf这个主要的配置文件所引用。因此,我们可以在/etc/nginx/conf.d/下写多个配置文件来配置Nginx,让Nginx解决各类的需求。

正文完
 
PG Thinker
版权声明:本站原创文章,由 PG Thinker 2023-09-15发表,共计2932字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
热评文章
Rust中所有权与借用规则概述

Rust中所有权与借用规则概述

在GC与手动管理内存之间,Rust选择了第三种:所有权机制...