热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

说说如何在Linux中安装Nginx

1 准备安装环境 首先我们需要一个内核为 Linux2.6 及以上版本的操作系统,因为 Linux2.6 及以上内核才支持 epoll。 epoll 是 Linux 内核为处理大批量文件描述符而

1 准备安装环境

首先我们需要一个内核为 Linux2.6 及以上版本的操作系统,因为 Linux2.6 及以上内核才支持 epoll。

epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 poll ,是 Linux 下多路复用 IO 接口select/ poll 的增强版本,它能显着提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。

我们可以使用 uname-r 命令来查询 Linux 内核版本。

uname -r

运行结果:

3.10.0-957.el7.x86_64

1.1 GCC 编译器

GCC( GNU Compiler Collection) 可用来编译C语言程序,因为 Nginx 是用 C 语言写的,所以我们需要它。

我们使用 yum 来安装 GCC 编译器:

yum install -y gcc

Yum (全称为 YellowdogUpdater , Modified )是一个在 Fedora 和 RedHat 以及 CentOS 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载 、 安装。


加上 -y 参数,yum 找到安装包之后,会自动输入 y(即表示 yes 同意),这样安装过程就不需要我们参与啦!


如果需要使用 C++ 来编写 Nginx,那么可以按照 G++ 编译器:

yum install -y gcc-c++

1.2 PCRE 库

如果我们在配置文件 nginx.conf 中使用了正则表达式,那么在编译 Nginx 时就必须把 PCRE 库( Perl Compatible Regular Expressions, Perl 兼容正则表达式)编译进 Nginx ,因为 Nginx 的 HTTP 模块要靠它来解析正则表达式。

 yum install -y pcre pcre-devel

pcre-devel 是使用 PCRE 做二次开发时所需要用到的开发库,所以这里一并安装。

1.3 zlib 库

如果在 nginx.conf 里配置了 gzip on ,并指定对于某些类型( content-type )的 HTTP 响应使用 gzip 对其进行压缩以减少网络传输量,这时,就必须在编译时把 zlib 编译进 Nginx。

yum install -y zlib zlib-devel

zlib-devel 也是二次开发所需要的库。

1.4 openssl 库

如果服务器需要支持 HTTPS ,那么就需要安装 openssl 了。openssl 中还包含 MD5、SHA1 等加密算法实现。

yum install -y openssl openssl-devel

2 下载并编译安装

可以在此下载 Nginx http://nginx.org/en/download.html 源代码压缩包。

首先解压 tar.gz,形如

tar -zxvf nginx-1.17.7.tar.gz

然后进入 nginx-1.17.7 目录,执行以下3行命令:

./configure
make
make install
  1. configure 命令会检测操作系统内核和已经安装的软件、解析参数、生成中间目录以及根据各种参数生成一些 C 源码文件 、 Makefile 文件等 工作。
  2. make 命令会根据 configure 命令生成的 Makefile 文件编译 Nginx 工程,并生成目标文件和最终的二进制文件 。
  3. make install 命令会根据 configure 执行时的参数将 Nginx 部署到指定的安装目录,还会建立相关目录以及复制二进制文件和配置文件。

3 验证

在根目录执行以下命令:

/usr/local/nginx/sbin/nginx -v

运行结果:

nginx version: nginx/1.17.7

这就说明 Nginx 安装成功啦 O(∩_∩)O哈哈~


推荐阅读
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 以管理员身份打开命令行粘贴上面 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
  • 随着我司的应用都开始容器化,相应的ETL流程也需要迁移到容器中。常规的SQL和shell脚本迁移之后执行基本没有问题,主要的问题在于数据接入使用kettle的场景下,kettle启 ... [详细]
author-avatar
WLII庾斌_787
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有