集群技术

Linux运维-day46-综合架构-http协议补充及ngin

2019-06-05  本文已影响60人  文娟_狼剩

一、http协议补充

1.1 URL与URI

URL:统一资源定位符(网址)
URI:统一资源标识符(范围更广)


1.2 http协议的返回常见状态码

状态 含义
200 成功请求
301 永久跳转
302 临时跳转
304 没有修改,走浏览器缓存
403 请求不到首页或权限被拒绝
404 请求的资源不存在
500 服务器内部错误,程序代码错误
502 找不到后端的资源
503 服务不可用,如停机维护时,可以显示这个
504 请求超时

Http状态码301和302概念简单区别及企业应用案例
https://blog.51cto.com/oldboy/1774260

生产环境常见HTTP状态码的博客文章见
http://oldboy.blog.51cto.com/2561410/716294

1.3 静态页面和动态页面

静态页面
   网站只进行请求与响应
   客户端浏览器进行处理
   web服务器自己能处理:nginx
   搜索引擎容易收入
动态页面
   交互信息 评论 上传
   URL包含& ?一般为动态页面
   需要服务器进行处理,把处理后的结果发给你
   动态:nginx+php/java
   搜索引擎不容易收入

1.4 衡量网站访问量单位(IP、PV、UV)

ip:独立IP数量
PV:page view页面访问量
UV:uniq Visitor独立的访客数(有多少人访问)
统计:
    通过三剑客实现
    在网站中加入第三方统计工具(百度统计、谷歌统计)
    http://alexa.chinaz.com
[root@web01 ~]# curl -L www.oldboyedu.com|grep baidu.com
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0   2241      0 --:--:-- --:--:-- --:--:--  2253
  0     0    0  103k    0     0   225k      0 --:--:-- --:--:-- --:--:--  225k
              hm.src = "https://hm.baidu.com/hm.js?9aa800f882f575237396648643111698";
[root@web01 ~]# 

二、Nginx基础※※※

2.1 功能

web服务器(http请求、http响应)
nginx负载均衡
nginx缓存
有相同功能的有:nginx、apache、tengine(淘宝基于nginx3次开发)web服务器

2.2 nginx与apache的区别

nginx:异步模型 epoll
apache:同步模型 select

2.3 nginx安装方式

官网:http://nginx.org/en/download.html

yum安装:
  epel源
  nginx官方源
rpm包:
编译安装:

2.4 nginx安装

1>安装依赖软件包:yum install -y gcc gcc-c++ autoconf pcre pcre-devel make automake wget httpd-tools vim tree
2>配置nginx的yum源:

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

3>安装nginx:yum install -y nginx
4>检查

检查yum源:yum repolist
检查软件包的内容:rpm -ql nginx
检查是否安装:rpm -qa|grep nginx

5>启动nginx,并设置开机自启动

systemctl start nginx
systemctl enable nginx
注:启动nginx服务之前,先检查nginx语法:nginx -t

类似的开启 关闭 平滑重启命令:
systemctl start nginx ===== nginx(centos6)
systemctl reload nginx ===== nginx -s reload
systemctl stop nginx ===== nginx -s stop

6>查看nginx的版本

[root@web01 ~]# nginx -v
nginx version: nginx/1.16.0
[root@web01 ~]# 

7>在浏览器输入IP地址,显示下面页面,表示nginx安装成功


2.5 nginx配置文件

[root@web01 ~]# rpm -ql nginx 
/etc/logrotate.d/nginx                     \\\nginx日志切割的配置文件
    /etc/nginx
        /etc/nginx/nginx.conf              \\\nginx主配置文件 
        /etc/nginx/conf.d
        /etc/nginx/conf.d/default.conf     \\\nginx.conf一样 
        /etc/nginx/mime.types             \\\媒体类型 (http协议中的文件类型)
        /etc/nginx/fastcgi_params
        /etc/nginx/koi-utf
        /etc/nginx/koi-win
        /etc/nginx/modules
        /etc/nginx/scgi_params
        /etc/nginx/uwsgi_params
        /etc/nginx/win-utf
/etc/sysconfig/nginx                       \\\systemctl 管理 nginx的使用的文件

/usr/lib/systemd/system/nginx.service      \\\systemctl 管理nginx(开 关 重启 reload) 配置文件       

/usr/sbin/nginx                            \\\nginx命令
/usr/sbin/nginx-debug

/usr/share/nginx/html                      \\\站点目录 网站的根目录 www.oldboyedu.com/oldboy.jpg 
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx                             \\\nginx日志 access.log 访问日志

2.6 /etc/nginx/nginx.conf配置的详解

https://www.processon.com/view/link/5cf5e2cae4b0bc8329e71aad

2.7给/etc/nginx/nginx.conf添加server区域,进行配置

1> 在 include文件类型下添加server区域,将include注释,添加域名www.oldboy.com

[ root@web01 ~]# vim /etc/nginx/nginx.conf 
.....
# include /etc/nginx/conf.d/*.conf;
     server   {
     listen       80;
     server_name  www.oldboy.com;

     location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
                }
              }
}

2>在/etc/hosts里添加www.oldboy.com的本地域名解析

[root@web01 ~]# vim /etc/hosts
……
172.16.1.7      web01  www.oldboy.com  
……

3>nginx -t检查语法,没有问题重启nginx

4>虚拟机中检查解析是否成功

[root@web01 /etc/nginx]# ping www.oldboy.com 
PING web01 (172.16.1.7) 56(84) bytes of data.
64 bytes from web01 (172.16.1.7): icmp_seq=1 ttl=64 time=0.036 ms
64 bytes from web01 (172.16.1.7): icmp_seq=2 ttl=64 time=0.055 ms
^C
--- web01 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.036/0.045/0.055/0.011 ms
[root@web01 /etc/nginx]# echo www.oldboy.com  >/usr/share/nginx/html/index.html 
[root@web01 /etc/nginx]# 
[root@web01 /etc/nginx]# curl  www.oldboy.com
www.oldboy.com
[root@web01 /etc/nginx]# curl -v  www.oldboy.com
* About to connect() to www.oldboy.com port 80 (#0)
*   Trying 172.16.1.7...
* Connected to www.oldboy.com (172.16.1.7) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.oldboy.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx/1.16.0
< Date: Tue, 04 Jun 2019 04:09:23 GMT
< Content-Type: text/html
< Content-Length: 15
< Last-Modified: Tue, 04 Jun 2019 04:09:09 GMT
< Connection: keep-alive
< ETag: "5cf5eee5-f"
< Accept-Ranges: bytes
< 
www.oldboy.com
* Connection #0 to host www.oldboy.com left intact

到此为止Linux命令行测试ok,下面测试windows浏览器访问

5>在windows里添加本地域名解析


用Notepad++打开桌面hosts文件,写入要解析的ip和域名并保存

在浏览器中输入www.oldboy.com
上一篇下一篇

猜你喜欢

热点阅读