当前位置首页 > Nginx知识

nginx--安装

阅读次数:190 次  来源:admin  发布时间:

前戏

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应用程序,处理接收到的数据

ginx的优点

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

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

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

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

安装nginx

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

最简单的方法当然是使用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--安装

ginx常用的命令

./sbin/nginx  #直接启动nginx
./sbin/nginx -s stop   # 停止nginx
./sbin/nginx -s reload  #平滑重启(修改了nginx配置文件,不重启服务就加载配置且生效)
./sbin/nginx -t  # 检测nginx.conf 配置文件的语法正确性
上一篇:Ubuntu16安装odoo10实录
下一篇:Ubuntuserver中文环境方格乱码解决方法