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 配置文件的语法正确性

相关文章
|
17天前
|
应用服务中间件 Linux nginx
杨老师课堂之Nginx学习之安装篇
杨老师课堂之Nginx学习之安装篇
22 0
|
1月前
|
应用服务中间件 nginx Windows
windows 安装nginx
windows 安装nginx
21 0
|
4天前
|
应用服务中间件 Linux 网络安全
nginx安装的详细教程(包括命令行安装和编译安装)
nginx安装的详细教程(包括命令行安装和编译安装)
|
19天前
|
缓存 Ubuntu 应用服务中间件
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
Ubuntu 22.04 上安装、配置和使用 Nginx 可以分为几个简单的步骤
|
2天前
|
前端开发 应用服务中间件 nginx
安装Windows版nginx以及部署前端代码并就解决刷新出现404
安装Windows版nginx以及部署前端代码并就解决刷新出现404
6 0
|
2天前
|
应用服务中间件 nginx
Ngnix07---通过yum安装Ngnix下 whereis ngnix可以查看Ngnix相关的一些目录,使用./nginx -y可以查看Ngnix版本及相关配置信息,使用 more CHANGES
Ngnix07---通过yum安装Ngnix下 whereis ngnix可以查看Ngnix相关的一些目录,使用./nginx -y可以查看Ngnix版本及相关配置信息,使用 more CHANGES
|
6天前
|
应用服务中间件 Linux nginx
【项目部署系列教程】3. 安装宝塔 vs nginx
【项目部署系列教程】3. 安装宝塔 vs nginx
12 0
|
1月前
|
应用服务中间件 Shell nginx
mac m1笔记本docker 安装nginx
mac m1笔记本docker 安装nginx
87 4
|
1月前
|
Ubuntu 应用服务中间件 Linux
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
Linux Centos7 ubuntu 安装nginx,脚本一键安装nginx
52 2
|
10天前
|
应用服务中间件 Linux 程序员
老程序员分享:nginx安装及其配置详细教程
老程序员分享:nginx安装及其配置详细教程