linux环境下载nginx及初步应用

一、下载

  • 1、 nginx解决依赖关系
    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
  • 2、切到opt目录,下载
    cd /opt
    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
  • 3、解压
    tar -zxvf nginx-1.12.0.tar.gz
  • 4、切换进入nginx目录
    cd nginx-1.12.0
  • 5、配置,编译安装到指定目录/opt/nginx1-12/
    ./configure --prefix=/opt/nginx1-12/ #这里不会生成文件夹
    make && make install
  • 6、启动nginx,进入sbin目录,找到nginx启动命令
    进入nginx主目录,所有东西都在这了:cd /opt/nginx1-12
    进入可执行命令目录:cd sbin
    里面有一个nginx脚本
    ./nginx :启动
    ps -ef |grep nginx :检查端口和进程
    ./nginx -s stop :关闭
    ./nginx -s reload :重启(启动nginx服务时)
    ./nginx -t :检测nginx.conf语法是否正确
  • 7、开启nginx检测服务,nginx默认占用80端口
    netstat -tunlp |grep 80 结果↓
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5404/nginx: master
    curl -I 127.0.0.1 结果↓
HTTP/1.1 200 OK
Server: nginx/1.12.0
Date: Wed, 14 Nov 2018 09:57:03 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 14 Nov 2018 09:42:44 GMT
Connection: keep-alive
ETag: "5bebee14-264"
Accept-Ranges: bytes

如果访问不了,检查selinux,iptables
浏览器访问检测:http://10.0.0.10/ (浏览器不写端口,默认指认80)

  • 8、目录结构
    [root@localhost /opt/nginx1-12 18:03:20]#tree
├── client_body_temp
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp
├── html
│   ├── 50x.html
│   └── index.html
├── logs
│   ├── access.log
│   ├── error.log
│   └── nginx.pid
├── proxy_temp
├── sbin
│   └── nginx
├── scgi_temp
└── uwsgi_temp

二、基于域名的虚拟主机实战

  • 1、准备俩域名在,hosts文件中强制解析
找到windows的hosts文件,强制一个域名解析
地址:    C:\Windows\System32\drivers\etc\hosts 
(windows8  10的用户,请用管理员运行 )
写入 域名解析
10.0.0.10       www.page1.com
10.0.0.10       www.page2.com
  • 2.浏览器访问www.page1.com 出现页面证明解析成功

  • 3.修改 nginx.conf 文件,写入以下内容
    vim /opt/nginx1-12/conf/nginx.conf

server {
        listen       80;
        server_name  www.page1.com;
        location / {
            root   /opt/static/page1/;
            index  index.html index.htm;
        }
        error_page  404 403 401 402               /404.html;
        error_page   500 502 503 504  /50x.html;(这个x代表数字)
        location = /50x.html {
            root   html;
        }
    }
server  {
        listen  80;
        server_name  www.page2.com;
        location /  {
        root   /opt/static/page2;
        index    index.html;
        }
    }
  • 4.新建文件:mkdir -p /opt/static/{page1,page2}

  • 5.写入两个网站的index.html文件

cd /opt/static/page1 
touch index.html
编辑内容
cd /opt/static/page2 
touch index.html
编辑内容
  • 6.重启nginx服务器:/opt/nginx1-12/sbin/nginx -s reload

  • 7.浏览器分别访问验证:
    http://www.page1.com/
    http://www.page2.com/

  • nginx拒绝ip访问:
    如果哪天发现你的nginx很慢,或者检查access.log时候,有一个some body疯狂请求你的nginx server,那么可以禁止这个IP访问
    目录:/opt/nginx1-12/logs/access.log
    检查日志时一直监听:tail -f /opt/nginx1-12/logs/access.log
    限制ip或ip段访问
    location / {
    deny 192.168.1.1;
    deny 192.168.1.0/24;
    allow 10.1.1.0/16;
    }
  • nginx错误页面优化:
    在网站运行过程中,可能因为页面不存在等原因,导致网站无法正常响应请求,此时web服务会返回系统的错误码,但是默认的错误页面很不友好。
    配置参数:
    server {
    listen 80;
    server_name www.yourname.com;
    root html/static;
    location /{
    index index.html index.htm;
    }
    #在static路径下的40x.html错误页面
    error_page 400 403 404 405 /40x.html;
    }

你可能感兴趣的:(linux环境下载nginx及初步应用)