nginx 初探

nginx 初探

请求 -> ngnix -> apache
- 缓存
- varnish
- keep alive

  • memcache
    • 功能,模块
  • memcached
    • 是一个软件
  • 地址重写
    • 服务器端 连接转发

安装 centos7 及环境准备

  • 修改网络配置
    • vi /etc/sysconfig/network-scripts/ifcfg-enp0s3,然后修改为

      TYPE=Ethernet
      PROXY_METHOD=none
      BROWSER_ONLY=no
      BOOTPROTO=dhcp
      DEFROUTE=yes
      IPV4_FAILURE_FATAL=no
      IPV6INIT=yes
      IPV6_AUTOCONF=yes
      IPV6_DEFROUTE=yes
      IPV6_FAILURE_FATAL=no
      IPV6_ADDR_GEN_MODE=stable-privacy
      NAME=enp0s3
      UUID=308afc04-30ae-42ac-ada2-5cc1b973c84f
      DEVICE=enp0s3
      ONBOOT=yes

      主要是 BOOTPROTO=dhcpONBOOT=yes

  • 重启网络服务
    • service network restart
  • 安装 ssh
    • yum install openssh-server
  • 安装网络工具
    • yum install net-tools
  • 查看 ssh 端口是否开放
    1. 查看ssh是否在运行
      • ps aux | grep ssh
    2. 查看所占端口
      • 根据程序名称查看: netstat -anp |grep sshd
      • 根据 PID 查看: netstat -anp | grep 1265
  • 安装 SunJDK
    • 安装 wget
      • yum install wget
    • 配置 Java 环境变量
      • export JAVA_HOME=/home/yhj/developer/java8
      • export PATH= PATH: P A T H : JAVA_HOME/bin
      • export CLASSPATH=.: JAVAHOME/lib: J A V A H O M E / l i b : JAVA_HOME/jre/lib
  • 防火墙设置

  • 设置时间

    1. date //查看本地
    2. hwclock –show //查看硬件的时间
    3. 如果硬件的时间是对不上,那就对硬件的时间进行修改、
    4. hwclock –set –date ‘2016-01-08 15:15:15’ //设置硬件时间
    5. hwclock –hctosys //设置系统时间和硬件时间同步
    6. clock -w //保存时钟
    7. 最后在通过重启,init 6 (reboot) //重启后,查看系统时间是否真正生效
  • 补全 man 手册

  • 防火墙规则

    • 参考博客
      • 添加:firewall-cmd --permanent --zone=public --add-port=80/tcp
      • 重启:systemctl restart firewalld.service

预备知识

Nginx 编译和安装

  • 安装相应编译工具
    • zlib: nginx 提供 gzip 模块,需要 zlib 库支持
    • openssl: Nginx 提供 ssl 功能
    • pcre: 支持地址重写 rewrite 功能
    • 相关命令

      sudo yum -y install gcc gcc-c++ autoconf automake
      sudo yum -y install zlib zlib-devel openssl openssl-devel prce-devel
  • 创建用户
    groupadd -r nginx
    useradd -s /sbin/nologin -g nginx -r nginx
- 查看:id nginx 

- 编译

./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
  • 安装
    • make && make install
    • 启动
    • nginx -c /etc/nginx/nginx.conf
    • 查看是否启动
    • 查看是否有进程:ps aux | grep nginx
    • 查看是否监听端口:netstat -tulnp | grep 80
    • 停止服务
    • 从容关闭: kill -QUIT $(cat /var/run/nginx/nginx.pid)
    • 快速停止:kill -TERM $(cat /vat/run/nginx/nginx.pid)
    • 强制结束所有的 nginx 进程: kill -KILL nginx
    • 重启服务
    • kill -HUP $(cat /var/run/nginx/nginx.pid)
    • 检查配置文件语法
    • nginx -t -c /etc/nginx/nginx.conf
    • -t: 测试, -c 配置文件
    • 创建启动脚本
    • 方法一(没成功,但是理论没错):
      • 官方脚本 貌似 在我电脑上用不了
      • 添加脚本到 /etc/init.d/ 目录下
      • 添加权限 chmod a+x /etc/init.d/nginx
      • 添加 chkconfig 连接
        • chkconfig --add nginx
      • 设置 chkconfig 状态
        • chkconfig --level 2345 nginx on
      • 查看 chkconfig 状态
        • chkconfig --list nginx
    • 方法二(正常工作):
      • 参见博客
      • 创建脚本: nginx.service,拷贝到 /lib/systemd/system 目录下
        [Unit]
                Description=nginx - high performance web server
                Documentation=http://nginx.org/en/docs/
                After=network-online.target remote-fs.target nss-lookup.target
                Wants=network-online.target

                [Service]
                Type=forking
                PIDFile=/var/run/nginx.pid
                ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
                ExecReload=/bin/kill -s HUP $PIDFile
                ExecStop=/bin/kill -s TERM $PIDFile

                [Install]
                WantedBy=multi-user.target
  • 刷新服务依赖
    • systemctl daemon-reload
      • 添加开启启动
        • systemctl enable nginx.service
      • 禁止开启启动
        • systemctl disable nginx.service
  • nginx 配置文件
    • nginx 匹配规则
      • location:
        语法:
        location [=|~|~*|^~]/uri/{…}
        根据参数 uri 的不同来进行需求配置,可以使用字符串和正则表达式,如果使用正则表达式则需要指定一下前缀:
        • ~ : 区分大小写
        • ~* : 不区分大小写
        • ^~ : 禁止大小写
        • = : 精确匹配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值