zoukankan      html  css  js  c++  java
  • centos7 nginx@1.16.1

    用yum进行安装必要程序

    如果你Linux用的很熟练的话,我想这些程序你一定已经用yum安装过了,但是如果你还不熟悉Linux,你可以直接用yum进行安装就可以了。

    yum -y install gcc gcc-c++ autoconf pcre-devel make automake
    yum -y install wget httpd-tools vim

    基于Yum的方式安装Nginx

    我们可以先来查看一下yum是否已经存在,命令如下:

    yum list | grep nginx
    查看源支持版本

    如果没有想要的版本需要修改源

    vim /etc/yum.repos.d/nginx.repo
     
    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/7/$basearch/
    gpgcheck=0
    enabled=1


    yum install nginx

    查看nginx 版本
    nginx -v

    查看文件安装位置
    rpm -ql nginx

    nginx 默认端口为80 我们想要在 访问需要允许centos 防火墙放开80 端口
     

    CentOS 7 快速开放端口:

    CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,baidu之后发现Centos 7使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

    开启端口


    [root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent

    查询端口号80 是否开启:

    [root@centos7 ~]# firewall-cmd --query-port=80/tcp

    重启防火墙:

    [root@centos7 ~]# firewall-cmd --reload

    查询有哪些端口是开启的:

    [root@centos7 ~]# firewall-cmd --list-port

    命令含义:


    --zone #作用域
    --add-port=80/tcp #添加端口,格式为:端口/通讯协议
    --permanent #永久生效,没有此参数重启后失效

     这样就可以在浏览器中访问远程ip 下的80 端口。

    nginx 启动命令
    1.
    nginx
    2.
    systemctl start nginx.service
    nginx 停止命令
    立即停止服务  nginx  -s stop

    从容停止服务  nginx -s quit
    systemctl 停止 systemctl stop nginx.service

    重启Nginx服务

    有时候我们需要重启Nginx服务 systemctl restart nginx.service

    重新载入配置文件  nginx -s reload

     
    查询服务启动状态
    ps aux | grep nginx

    查看端口号

    在默认情况下,Nginx启动后会监听80端口,从而提供HTTP访问,如果80端口已经被占用则会启动失败。我么可以使用netstat -tlnp命令查看端口号的占用情况 

    nginx 判断是pc 还是手机访问 指向不同访问目录 

    location / {
    root /usr/share/nginx/pc;
    if ($http_user_agent ~* 'Android|webOS|iPhone|iPod|BlackBerry'){
    root /usr/share/nginx/mobile;
    }
    index index.html;
    }

    nginx部分内置参数
    $args                      请求中的参数;
    $binary_remote_addr        远程地址的二进制表示
    $body_bytes_sent           已发送的消息体字节数
    $content_length            HTTP请求信息里的"Content-Length"
    $content_type              请求信息里的"Content-Type"
    $document_root             针对当前请求的根路径设置值
    $document_uri              与$uri相同
    $host                      请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;    
    $http_cookie               cookie 信息 
    $http_referer              来源地址
    $http_user_agent           客户端代理信息
    $http_via                  最后一个访问服务器的Ip地址
    $http_x_forwarded_for      相当于网络访问路径。    
    $limit_rate                对连接速率的限制          
    $remote_addr               客户端地址
    $remote_port               客户端端口号
    $remote_user               客户端用户名,认证用
    $request                   用户请求信息
    $request_body              用户请求主体
    $request_body_file         发往后端的本地文件名称      
    $request_filename          当前请求的文件路径名
    $request_method            请求的方法,比如"GET"、"POST"等
    $request_uri               请求的URI,带参数   
    $server_addr               服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费)
    $server_name               请求到达的服务器名
    $server_port               请求到达的服务器端口号
    $server_protocol           请求的协议版本,"HTTP/1.0"或"HTTP/1.1"
    $uri                       请求的URI,可能和最初的值有不同,比如经过重定向之类的

    gzip的配置项

    Nginx提供了专门的gzip模块,并且模块中的指令非常丰富。

    • gzip : 该指令用于开启或 关闭gzip模块。
    • gzip_buffers : 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
    • gzip_comp_level : gzip压缩比,压缩级别是1-9,1的压缩级别最低,9的压缩级别最高。压缩级别越高压缩率越大,压缩时间越长。
    • gzip_disable : 可以通过该指令对一些特定的User-Agent不使用压缩功能。
    • gzip_min_length:设置允许压缩的页面最小字节数,页面字节数从相应消息头的Content-length中进行获取。
    • gzip_http_version:识别HTTP协议版本,其值可以是1.1.或1.0.
    • gzip_proxied : 用于设置启用或禁用从代理服务器上收到相应内容gzip压缩。
    • gzip_vary : 用于在响应消息头中添加Vary:Accept-Encoding,使代理服务器根据请求头中的Accept-Encoding识别是否启用gzip压缩。

    gzip最简单的配置

    http {
       .....
        gzip on;
        gzip_types text/plain application/javascript text/css;
       .....
    }
    

    gzip on是启用gizp模块,下面的一行是用于在客户端访问网页时,对文本、JavaScript 和CSS文件进行压缩输出。

    配置好后,我们就可以重启Nginx服务

     
  • 相关阅读:
    Linux服务器上的node进程被kill问题排查
    轻松精通数据库管理之道——运维巡检系列
    30分钟带你熟练性能优化的那点儿事儿(案例说明)
    八年数据库之路的感悟
    SQL SERVER全面优化-------Expert for SQL Server 诊断系列
    入园记------我的DBA之路
    非常详细的 (VMware安装Centos7超详细过程)
    数据库自动收缩带来的严重问题
    解决数据库卡、慢,问题多,难管理——老技术的执著
    数据库优化案例——————某知名零售企业ERP系统
  • 原文地址:https://www.cnblogs.com/caoruichun/p/11483153.html
Copyright © 2011-2022 走看看