Linux之nginx

编程之家收集整理的这篇文章主要介绍了Linux之nginx编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1,Nginx入门

想必我们大多数人都是通过访问网站而开始接触互联网的吧。我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务。

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

目前能够提供 Web 网络服务的程序有 IIS、Nginx 和 Apache 等。其中,IIS(Internet Information Services,互联网信息服务)是 Windows 系统中默认的 Web 服务程序

2004 年 10 月 4 日,为俄罗斯知名门户站点而开发的 Web 服务程序 Nginx 横空出世。 Nginx 程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能快速占领服务器市 场,但 Nginx 最被认可的还当是系统资源消耗低且并发能力强,因此得到了国内诸如新浪、 网易、腾讯等门户站的青睐。

2,web服务器和web框架的关系

  • web服务器(Nginx):接收HTTP请求(列如www.pythonav.cn/xiaocang.jpg)并返回数据
  • web框架(django,flask):开发web应用程序,处理接收到的数据

3,Nginx是什么?

Nginx是一个开源的,支持性能的,高并发的www服务和代理服务软件,它是一个俄罗斯人lgor sysoev开发的,
作者将源代码开源出来供全球使用, Nginx比大哥apache性能先进的多,Nginx占用的系统资源更少,支持更高的并发连接,有更高的访问频率,
Nginx不但是一个优秀的web服务软件,还可以作为反向代理,
负载均衡,以及缓存服务使用 安装更为简单, 方便, 灵活 Nginx可以说是非常强大了

4,安装

  • 解决依赖关系编译依赖gcc环境,所以先要安装gcc环境
    • 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
  • 下载源码包
    • wget -c https://Nginx.org/download/Nginx-1.12.0.tar.gz
  • 解压缩源码包
  • 在当前路径下通过configure这个脚本文件执行,释放makefile, 然后指定安装Nginx的路径
    • ./configure --prefix=/opt/Nginx1-12/ --with-http_ssl_module --with-http_stub_status_module
  • 编译且编译安装
    • make && make install
  • 在/opt/NginxNginx1-12/安装好Nginx的目录,找到一个sbin的文件夹,找到启动命令,然后启动Nginx服务
    • 检查安装后目录, ll/opt/Nginx1-12
  • 启动Nginx的服务
  • 停止Nginx服务
  • 平滑重启(修改Nginx配置文件, 不重启服务就加载配置且生效)
    • sbin/ndinx -s reload
  • 检测ngnix.conf配置文件的语法正确性
  • 检查端口,进程,然后通过修改浏览器Nginx页面, ip地址
  • 虚拟主机:
  • server{
      listen     80;
    
      server_name     www.xuexue.com;  # 这里是Nginx通过这个参数,来定位不同的虚拟机代表访问Nginx的匹配路径  
    
       location / {
           # 指明网页根目录在/data/xuexue/文件夹下
           root  /data/xuexue/;
           index  index.html index.html
    }
    }
    server{
          listen     80;
          server_name    www.xiaoxue.com;
          location / {
                     # 指明网页根目录在/opt/html/文件夹下
                     root /data/xiaoxue;
                     index index.html index.html;
    }
    }
  • 重新加载Nginx配置文件
    • sbin/Nginx -t   # 检查语法
    • sbin/Nginx -s reload   # 平滑重启
  • 去data里边创建xuexue和xiaoxue2个文件夹放入不同的资料
  • 写入本地dns解析文件,由于是在windows中的hosts中添加记录,hosts文件就是一个本地dns(就是域名转化成ip地址)强制解析的文件

  • windows的hosts文件在:C/Windows/System32/driver/etc/hosts,写入如下信息
  • 192.168.12.49      www.xuexue.com
  • 192.168.12.49      www.xiaoxue.com

5,Nginx状态模块功能

  • 配置文件中,添加一个参数即可
    • location/status{
    •     stub_status on;
    • }
  • Nginx访问日志功能
  • 在配置中,打开注释, Nginx.conf
    • log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent" "$http_x_forwarded_for"';
      access_log  logs/access.log  main;

       

  • 参数详解:
    • $remote_addr 记录客户端ip
    • $remote_user  远程用户, 没有就是"-"
    • $time_local      对应[14/Aug/2018:18:46:52 +0800]
    • $request           对应请求信息"GET/favicon.ico HTTP/1.1"
    • $status              状态码
    • $body_bytes_sent     571字节 请求体的大小
    • $http_referer       对应"-"     由于是直接输入浏览器就是-
    • $http_user_agent      客户端身份信息
    • $http_x_forword_for     记录客户端的来源真实ip
  • 1.在配置文件添加  Nginx.conf 
        server {
                listen       80;
                server_name  www.s14huoying.com;
                location / {
                    #指明网页根目录在/opt/html/文件夹下
                    root   /data/huoying;
                    index  index.html index.htm;
                    deny 192.168.12.120;
                }
                error_page  400 401 402 404   /40x.html;
                #当请求来自于wwww.s14huoying.com/status/
        }

     

 

总结

以上是编程之家为你收集整理的Linux之nginx全部内容,希望文章能够帮你解决Linux之nginx所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

相关文章

猜你在找的Nginx相关文章

摘要: 什么是负载均衡?通俗一点讲,就是在高并发、大数据环境下给服务器减压的技术。负载均衡是任何一个有一定规模的互联网企业都会考虑的问题,负载方式很多,有依靠硬件实现的,也有依靠软件实现负载的。今天来聊聊使用软件来负载的方式。什么是负载均衡?通俗一点讲,就是在高并发、大数据
说明:此脚本简单只适合centos系统,仅作参考#!/bin/bash#判断系统类型是否为centosSERVER_NAME='CentOS'OS_SERVER_NAME=$(hostnamectl|awk'NR==7{print$3}')echo"$OS_SERVER_NAME"["$SERVER_NAME"!="$OS_SERVER_NAME"]&&
nginx静态文件二级目录 location 可以看出根目录下还得建立一个根目录相同的文件夹
前言:本文章适合有Linux基础者阅读,需掌握源码方式安装nginx(文中作者直接省略了nginx的源码安装过程)1.当前系统环境系统主机名IP地址Centos7.4xmh10.0.0.2002.nginx版本当前版本:nginx-1.12.2新版本:nginx-1.14.2本文章使用源码包方式安装nginxnginx存放:/applicat
安装Nginx#apt-getinstallnginx#yuminstallnginx查看安装路径#whereisnginx配置nginxlocation~.*\.(gif|jpg|jpeg|png)${expires24h;root/data/www/images/;#指定图片存放路径access_log/data/www/imagesginx/logs
80端口:server{listen80;#listen[::]:80;server_name域名;indexindex.htmlindex.htmindex.phpdefault.htmldefault.htmdefault.php;root/home/wwwroot/aaa;includenone.conf;#error_page
Nginx工作模式简介nginx有两种工作模式:master-worker模式和单进程模式。在master-worker模式下,有一个master进程和至少一个的worker进程,单进程模式顾名思义只有一个进程。这两种模式有各自的特点和适用场景。Nginx两种工作模式1、master-worker模式master-worker模式下nginx启
命令列表先把所有的命令给出来了。yum-yinstallgcc-c++yum-yinstallwgetyuminstall-ypcrepcre-develyuminstall-yzlibzlib-develyuminstall-yopensslopenssl-develwget-chttps:/ginx.org/downloadginx-1.14.1.tar.gztar-zxvfnginx-1.14.1.tar.gz