• 02---Nginx


    Nginx

     

    Nginx

    • 是一个高性能的Web和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器
    • 轻量级web服务器
    • 延伸版本tengine(淘宝)、openresrt(章奕春)

    Nginx管理

    安装

    • 安装包:官网、rpm包、第三方(有风险)
    • 下载:wget http://nginx.org/download/nginx-1.15.8.tar.gz -P /usr/src
    • 解压:tar zxvf nginx-1.15.8.tar.gz
    • 查看帮助:./configure --help

    • 配置:

      1. 检查环境是否满足安装条件,解决包依赖
      2. 指定安装方式
      3. 指定安装路径
    • 编译

      1. 下载c编译器等:yum install gcc pcre-devel zlib-devel
      2. 开始编译:./configure --prefix=/usr/local/nginx
      3. 将源码变成可执行程序:make
    • 安装:make install

    使用

    • 查看某个端口是否被使用
      1. lsof -i :80
      2. netstat -ntpl
    • 启动:先cd到安装目录/usr/loacl/nginx/ ,之后就可执行sbin/nginx。可以通过查看端口占用命令看看是否已经启动

    • 验证:可以通过浏览器访问:192.168.2.42 就可以查看nginx启动页面

    • 注意:可能存在防火墙问题,简单的就关闭防火墙,或者开放此80端口

    配置文件

    基本配置

      # /表示root根目录 代表 /usr/local/nginx/html/
      location / {
            root   html;
            index  index.html index.htm;
        }
    
      # 访问控制  只允许本机访问a  其他机器拒绝访问
      location /a {
            allow 127.0.0.1; # 允许ip访问
            allow 192.168.2.42; 
            deny all;        # 拒绝所有 
            return 404;      # 返回页面
            # return http://www.jd.com;
        }
    
       # 目录用户验证 任何人都可以访问  但是需要用户密码才能访问
       location /b {
            auth_basic "登录验证(子牙)"
            auth_basic_user_file /etc/nginx/htpasswd
       }
    
       # 记录日志
       http {
            log_format alex '[$time_local] $remote_addr "$request" $status';
       }
    
       server{
            access_log  logs/host.access.log  alex;
       }
    

    用到的命令

    • 文本浏览器:elinks 127.0.0.1 --dump
    • 不重启启动服务: killall -s HUP nginx
    • yum查找程序的名字:yum search elinks
    • 安装加密包:yum install httpd-tools
    • 生成用户名密码:htpasswd -c /etc/nginx/htpasswd alex
    • 滚动输出:tailf host.access.log
    • 删除文件带#号的:sed -i "/#/d" conf/nginx.conf
    • 删除文件空行的:sed -i "/^$/d" conf/nginx.conf
    • 上传文件到另一服务器:scp -r /root/nginx_install/ root@192.168.0.106:/root:移动一个目录下的所有文件用-r
  • 相关阅读:
    ping和telnet
    nginx下No input file specified错误的解决
    【Git】删除某个全局配置项
    windows7使用Sphinx+PHP+MySQL详细介绍
    TortoiseGit需要重复填写用户名和密码的问题
    【算法】字符串数组的排序时间复杂度问题
    java随机生成6位随机数 5位随机数 4位随机数
    Linux下MySQL报Table 'xxx' doesn't exist错误解决方法,表名存在大小写区分
    Cannot find ./catalina.sh The file is absent or does not have execute permission This file is nee
    Linux 服务器安装jdk,mysql,tomcat简要教程
  • 原文地址:https://www.cnblogs.com/xjmlove/p/10209861.html
Copyright © 2020-2023  润新知