前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx 的简介与安装

Nginx 的简介与安装

作者头像
村雨遥
发布2022-10-28 10:47:15
3330
发布2022-10-28 10:47:15
举报
文章被收录于专栏:JavaParkJavaPark

简介

什么是 Nginx

Nginx 是一个跨平台、轻量级、高性能的 HTTP 和反向代理 web 服务器,而且同时也提供了 IMAP/POP3/SMTP 服务。Nginx 最高能够支持搞到 50000 哥并发连接数的相应,在最高并发连接的情况下,可以作为 Apache 服务的一个替代品。

Nginx 作为负载均衡服务,既可以在内部直接支持 RedisPHP 程序对外进行服务,也可以作为支持 HTTP 代理服务对外进行支持。Nginx 是基于 C 语言来进行开发的,所以无论是系统资源开销还是 CPU 使用率都较低,也因此 Nginx 性能较强。

Nginx 的版本

常用版本主要分为四大阵营:

  1. Nginx 开源版
  2. Nginx plus 商业版
  3. Openresty
  4. Tengine

下载

上一节中我们讲了 Nginx 的一些简单知识,接下来就来看看,如何在我们的服务器中安装 Nginx。下文中,我们均以 Nginx 开源版做示范。

前往 Nginx 官方地址下载对应的版本,因为这里主要是在服务器中安装,所以是以 Linux(Centos) 版本来演示。

http://nginx.org/en/download.html

编译安装与依赖检查

将下载后的 Nginx 压缩包进行解压,解压命令如下。

代码语言:javascript
复制
tar -zxf 压缩包名

进入解压缩后的 Nginx 所在文件夹,然后执行 configure 脚本,这时候就会检查安装 Nginx 所需的依赖,这里可能会因为你的服务器中没有事先安装所需依赖而导致报错。

代码语言:javascript
复制
cd nginx-1.22.0
sh configure

这里例举几个安装时可能会遇到的错误:

  1. C 编译器缺失
代码语言:javascript
复制
error: C compiler cc is not found.

要解决这个错误,只需要安装 gcc 编译器即可。

代码语言:javascript
复制
yum install -y gcc
  1. PCRE Library 缺失
代码语言:javascript
复制
error: the HTTP rewrite module requires the PCRE library.

同样,为了解决这个这个问题,需要安装 pcre-devel

代码语言:javascript
复制
yum install -y pcre pcre-devel
  1. zlib Library 缺失
代码语言:javascript
复制
error: the HTTP gzip module requires zlib library.

解决方法,安装 zlib 库。

代码语言:javascript
复制
yum install -y zlib zlib-devel

如果出现以上的提示信息,则说明可以进行下一步,此时直接执行编译安装命令。

代码语言:javascript
复制
make

make install

Nginx 启停

如果顺利执行完 configure 脚本,则会在服务器终端打印出以上 Nginx 相关的配置。

进入 Nginx 安装后的目录 /usr/local/nginx/sbin,然后利用以下命令来进行 Nginx 的启动。

  1. 启动
代码语言:javascript
复制
./nginx

然后在浏览器中访问服务器的 IP 地址,如果出现以下界面,则说明我们的 Nginx 安装并启动成功了!

  1. 快速停止
代码语言:javascript
复制
./nginx -s stop

停止后,再到浏览器中去访问服务器地址,就会出现以下情况。

  1. 关闭前完成已接受的连接请求
代码语言:javascript
复制
./nginx -s quit
  1. 重新加载配置
代码语言:javascript
复制
./nginx -s reload

通过这种方式,可以实现 Nginx 的无感重启。也就是说,当我们需要修改 Nginx 的配置时,不希望通过停止 Nginx 然后在启动的方式,此时就可以通过这个命令来实现。

防火墙

关闭防火墙

代码语言:javascript
复制
systemctl stop firewall.service

禁止防火墙开机启动

代码语言:javascript
复制
systemctl disable firewall.service

放行端口

代码语言:javascript
复制
firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙

代码语言:javascript
复制
firewall-cmd reload

安装为系统服务

  1. 添加系统服务

/usr/lib/systemd/system 目录下新增一个文件,命名为 nginx.service,然后将以下内容添加到该文件中。

代码语言:javascript
复制
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
  1. 重载系统服务

接着执行以下命令重新加载系统服务。

代码语言:javascript
复制
systemctl daemon-reload
  1. 启停 Nginx

接着就可以分别利用下面的命令来启动和关停 Nginx 服务了。

  • 启动
代码语言:javascript
复制
systemctl start nginx
  • 关停
代码语言:javascript
复制
systemctl stop nginx
  • 查看当前状态
代码语言:javascript
复制
systemctl status nginx

总结

以上就是 Nginx 的简介和如何在 Linux 中安装 Nginx 的相关内容了,如果您觉得本文对您有所帮助,还请来个一键三连支持把!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
    • 什么是 Nginx
      • Nginx 的版本
      • 下载
      • 编译安装与依赖检查
      • Nginx 启停
      • 防火墙
        • 关闭防火墙
          • 禁止防火墙开机启动
            • 放行端口
              • 重启防火墙
              • 安装为系统服务
              • 总结
              相关产品与服务
              负载均衡
              负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档