nginx--安装

简介: nginx--安装

前戏


web 网络服务是一种被动访问的服务程序,既只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的 web 服务器会通过HTTP(超文本传输协议)或 HTTPS(安全超文本传输协议)把请求的内容传输给用户。

目前能够提供 web 网络服务的程序有 IIS(windows 底下的 web 服务器软件)、nginx(Linux 底下新一代高性能的web服务器)、Apache(Linux上个时代的,老企业会选择 apache )等。

Nginx 是俄罗斯人开发的 web 服务程序,Nginx 作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但 Nginx 最终被认可的还是系统资源消耗低且并发能力强。

那 web 服务器和 web 框架的关系是什么呢?

web 服务器 (nginx):接收 HTTP 请求(例如https://www.baidu.com)并返回数据

web 框架 (django):开发 web 应用程序,处理接收到的数据


nginx 的优点


支持高并发,能支持几万并发连接

资源消耗少,在3万并发连接下开启 10 个线程消耗的内存不到 200M

可以做 http 反向代理和负载均衡

支持异步网络 i/o 事件模型 epoll


安装 nginx


nginx 既然有那么多的优点,赶紧让我们使用它吧。在使用之前先来看看如何安装。

最简单的方法当然是使用 yum install nginx了,在安装 redis 的时候,也说了 yum 安装的缺点,所以这里我们使用源码编译安装

1.在使用源码安装时先要解决依赖关系,执行下面的命令解决依赖关系

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
# gcc 
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
# PCRE pcre-devel
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
# zlib 
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
yum -y install openssl openssl-devel
# OpenSSL  OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。


2.依赖解决了之后,去下载源码包

wget -c https://nginx.org/download/nginx-1.16.1.tar.gz

3.解压缩源码包

tar -zxvf nginx-1.16.1.tar.gz

4.生成 Makefile 文件

进入解压后的目录下面,会有一个 configure 文件,执行生成 Makefile 文件

./configure --prefix=/opt/nginx1-16/ --with-http_ssl_module --with-http_stub_status_module

--prefix指定安装nginx的路径,以及开启模块功能ssl与状态模块功能(这里就能体现出源码安装的好处了),在执行上面的命令时有些提示简单看一下

nginx path prefix: "/opt/nginx1-16/"   # nginx的安装路径
nginx binary file: "/opt/nginx1-16//sbin/nginx"   # nginx的启动脚本存放路径
nginx modules path: "/opt/nginx1-16//modules"
nginx configuration prefix: "/opt/nginx1-16//conf"
nginx configuration file: "/opt/nginx1-16//conf/nginx.conf"  # nginx的配置文件路径
nginx pid file: "/opt/nginx1-16//logs/nginx.pid"
nginx error log file: "/opt/nginx1-16//logs/error.log"
nginx http access log file: "/opt/nginx1-16//logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"

5.编译且编译安装

make && make install

至此我们的 nginx 已经安装成功了,去 /opt/nginx1-16 下面看看都有哪些文件

[root@HH nginx1-16]# ll
总用量 16
drwxr-xr-x 2 root root 4096 10月  4 16:25 conf  # 配置文件存放的目录
drwxr-xr-x 2 root root 4096 10月  4 16:25 html  # 存放网页根目录的文件夹,存放了index.html   **.html  **.gif **.jpg
drwxr-xr-x 2 root root 4096 10月  4 16:25 logs  # 日志目录
drwxr-xr-x 2 root root 4096 10月  4 16:25 sbin  # nginx启动脚本目录

启动 nginx 服务

./nginx  # 在sbin目录下执行

用浏览器访问服务器的 ip,如果可以看到下面的页面就表示 nginx 服务正常启动了

如果访问不了,查看是否启动,防火墙是否关闭,云服务器的安全组是否开放端口


nginx常用的命令


./sbin/nginx  #直接启动nginx
./sbin/nginx -s stop   # 停止nginx
./sbin/nginx -s reload  #平滑重启(修改了nginx配置文件,不重启服务就加载配置且生效)
./sbin/nginx -t  # 检测nginx.conf 配置文件的语法正确性

相关文章
|
1月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
207 1
|
2月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
180 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
2月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
2月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
207 0
Mac os 安装 nginx 教程(success)
|
2月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
2月前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
2月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
2月前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
2月前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx