nginx介绍 -下载安装以及如何实现http和https服务

简介

  • Nginx (engine x) 是一个高性能的HTTP和反向代理WEB服务器。同时也提供了IMAP/POP3/SMTP服务。具有响应快、高扩展(丰富的第三方模块支持)、高可靠、低内存消耗、高并发、热部署等优势。

安装

  • 安装Nginx之前需要先安装以下三个依赖包:
    • OpenSSL : 数据加密
      • 解压后进入目录依次执行以下命令

        ./config
        sudo make
        sudo make install

    • PCRE : 解析正则表达式
      • 解压后进入目录依次执行以下命令

        ./configure
        sudo make
        sudo make install

    • ZLib : 压缩和解压缩
      • 解压后进入目录依次执行以下命令

        ./configure
        sudo make
        sudo make install

  • Nginx
    • 解压后进入目录依次执行以下命令

      ./configure
      make
      make install

目录介绍

  • Nginx会默认安装到/usr/local/nginx目录下
    • conf :主要存放nginx的配置文件(nginx.conf)
    • sbin :存放nginx程序
    • html :存放网页资源
    • logs :日志目录

Nginx操作指令

  • 启动

    sudo ./nginx

  • 停止

    马上终止web服务器 : sudo ./nginx -s stop
    等待当前操作处理完成之后再停止 : sudo ./nginx -s quit

  • 重新加载

    sudo ./nginx -s reload

Nginx配置文件介绍

  • 路径:/usr/local/nginx/conf/nginx.conf
  • 配置文件结构
    •   -main
          |--http
          |    |--server
          |          |--location
          |--mail
      
      • main:代表整个配置文件
      • http:处理web请求
      • server:代表一个web服务器
      • location:web服务器要处理的一个指令
      • mail:处理邮件相关协议
  • 配置文件介绍(截取了一部分)
  •  #user  nobody;
     # 工作进程
     worker_processes  1;
    
     #error_log  logs/error.log;
     #error_log  logs/error.log  notice;
     #error_log  logs/error.log  info;
    
     #pid        logs/nginx.pid;
    
    
     events {
     	# 可以连接到worker的数量
     	worker_connections  1024;
     }
    
    
     http {
     	include       mime.types;
     	default_type  application/octet-stream;
     	
     	sendfile        on;
     	#tcp_nopush     on;
    
     	#keepalive_timeout  0;
     	# 保持连接超时
     	keepalive_timeout  65;
    
     	#gzip  on;
    
     	server {
         	listen       80;                  # 监听端口
         	server_name  localhost;   # 域名,对应本地ip
    
     		# / 代表资源根目录 
         	location / {
         		# html目录,在/usr/local/nginx下。
         		# 你在浏览器输入http://ip:port
         		# Nginx会去/usr/local/nginx下找html目录,并加载html目录对应的index.html文件
             	root   html;  
             	index  index.html index.htm; 
         	}
     	}
    
     	# HTTPS server
     	#
     	#server {
     	#    listen       443 ssl;
    	 	#    server_name  localhost;
    
     	#    ssl_certificate      cert.pem;
     	#    ssl_certificate_key  cert.key;
    
     	#    ssl_session_cache    shared:SSL:1m;
     	#    ssl_session_timeout  5m;
    
     	#    ssl_ciphers  HIGH:!aNULL:!MD5;
     	#    ssl_prefer_server_ciphers  on;
    
     	#    location / {
     	#        root   html;
     	#        index  index.html index.htm;
     	#    }
    	 	#}
    
     }
    

Nginx实现http服务

  • 我们直接使用Nginx默认配置,启动Nginx服务。然后在浏览器中输入本地ip和端口,就可以访问到Nginx,Nginx就实现了一个简单的http服务。
    在这里插入图片描述
    在这里插入图片描述
  • 看到这个页面,就说明访问成功了。
  • 如果要访问自己实现的html页面,直接替换/usr/local/nginx/html下面的index.html文件,并把你的依赖文件和资源文件一起拷贝到该目录下,就可以通过Nginx实现自己的http服务。

Nginx处理多个指令

  • Nginx可以处理多个不同的指令
  • 在原有配置文件基础上,再新增一个location,在/usr/local/nginx目录下创建一个新目录 html.csdn,拷贝一份index.html文件,做简单修改。放到该目录下。
  •   location /csdn {
      		# html.csdn目录,在/usr/local/nginx下
      		# 在浏览器输入http://ip:port/csdn 
      		# Nginx 会去/usr/local/nginx目录下查找html.csdn目录,并加载index.html文件
      		alias   html.csdn; 
             	index  index.html index.htm; # html目录下的文件
      }
    
  • 我们先直接访问 http://127.0.0.1:80
    在这里插入图片描述
  • 再访问 http://127.0.0.1:80/csdn, 加载的就是另一个界面了。
    在这里插入图片描述

实现https服务

  • 默认Nginx的https服务是关闭的。如果想要实现https服务,把配置文件中关于https模块的配置注释打开就可以。
  •   	 # HTTPS server
      		server {
          	    listen       443 ssl;
      			server_name  localhost;
      
      			# 双向认证时配置(用CA证书校验客户端证书)
      			#ssl_verify_client on;
      			#ssl_client_certificate ca.pem;
      		
          	    ssl_certificate      cert.pem;
          	    ssl_certificate_key  cert.key;
      
          	    ssl_session_cache    shared:SSL:1m;
          	    ssl_session_timeout  5m;
      
          	    ssl_ciphers  HIGH:!aNULL:!MD5;
          	    ssl_prefer_server_ciphers  on;
      
          	    location / {
          	        root   html;
          	        index  index.html index.htm;
          	    }
     	 	}
    
  • 默认https服务是443端口,也可以改成别的端口。
  • 搭建https服务,需要一个证书文件和私钥文件。这两个文件在Nginx安装包里是没有的。如果是正式的生产环境,需要向专业的证书颁发机构去申请证书,如果是自己测试,可以使用openssl命令行工具去生成一个。把证书和私钥文件拷贝到/usr/local/nginx/conf下,文件名和配置文件中的保持一致,然后重新启动Nginx就可以实现https服务了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx-http-flv-module 是一个支持 HTTP-FLV 协议的 nginx 模块,用于实现直播流媒体服务。下面是 nginx-http-flv-module 的详细安装流程: 1. 安装 nginx 首先需要安装 nginx。可以使用 apt-get、yum 或者从源码编译安装 nginx。 2. 下载源码 可以通过 GitHub 下载源码: ``` git clone https://github.com/winshining/nginx-http-flv-module.git ``` 3. 编译安装 nginx 进入 nginx 源码目录,执行 configure 命令,加入 nginx-http-flv-module 模块: ``` ./configure --prefix=/usr/local/nginx --add-module=/path/to/nginx-http-flv-module ``` 然后执行 make 和 make install 命令进行编译安装。 4. 配置 nginx 编辑 nginx 配置文件 nginx.conf,添加以下配置: ``` rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; # HLS hls on; hls_path /usr/local/nginx/html/hls; hls_fragment 3; hls_playlist_length 60; # HTT-FLV flv_live_buffer 1m; flv_live_max_buffer 4m; flv_socket_buffer 512k; flv_timeout 10s; } } } http { server { listen 80; server_name localhost; # HLS location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /usr/local/nginx/html; add_header Cache-Control no-cache; } # HTTP-FLV location /live { flv; chunked_transfer_encoding on; } } } ``` 其中,rtmp 部分用于配置 RTMP 服务http 部分用于配置 HTTP 服务。 5. 启动 nginx 执行以下命令启动 nginx: ``` /usr/local/nginx/sbin/nginx ``` 至此,nginx-http-flv-module 的安装配置完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值