校园门户网站建设特点职业生涯规划大赛策划书方案

当前位置: 首页 > news >正文

校园门户网站建设特点,职业生涯规划大赛策划书方案,淮南网站建设,大型网站建设视频Nginx快速上手 OVERVIEW Nginx快速上手一、基本概念1.Nginx初步认识2.正向/反向代理#xff08;1#xff09;正向代理#xff08;2#xff09;反向代理 二、Nginx 安装和配置1.安装2.Nginx指令3.Nginx配置 三、Nginx的使用1.Web服务器#xff08;1#xff09;静态网页存储…Nginx快速上手 OVERVIEW Nginx快速上手一、基本概念1.Nginx初步认识2.正向/反向代理1正向代理2反向代理 二、Nginx 安装和配置1.安装2.Nginx指令3.Nginx配置 三、Nginx的使用1.Web服务器1静态网页存储目录2Nginx静态网页设置 2.反向代理和负载均衡1反向代理设置2负载均衡设置 3.总结 四、相关内容补充1.URL和URI2.DNS解析过程 一、基本概念 1.Nginx初步认识 Nginx能干什么 作为web服务器解析http协议反向代理服务器了解反向代理的概念邮件服务器解析邮件相关的协议: pop3/smtp/imap Nginx的优势 更快高峰期数以万计的并发时nginx可以比其它web服务器更快的响应请求高扩展低耦合设计的模块组成,丰富的第三方模块支持高可靠经过大批网站检验新浪、迅雷、每个worker进程相对独立, 出错之后可以快速开启新的worker worker进程的个数是可以控制的在后台干活的进程 低内存消耗一般情况下,10000个非活跃的HTTPKeep-Alive连接在nginx中仅消耗 2.5M内存单机支持10万以上的并发连接取决于内存10万远未封顶热部署master和worker的分离设计,可实现7x24小时不间断服务的前提下升级nginx可执行文件最自由的BSD许可协议BSD许可协议允许用户免费使用nginx, 修改nginx源码,然后再发布淘宝: tengine 2.正向/反向代理 1正向代理 正向代理是位于客户端和原始服务器之间的服务器为了能够从原始服务器获取请求的内容客户端需要将请求发送给代理服务器然后再由代理服务器将请求转发给原始服务器原始服务器接受到代理服务器的请求并处理然后将处理好的数据转发给代理服务器之后再由代理服务器转发发给客户端完成整个请求过程。 正向代理服务器是为用户服务的正向代理的典型用途就是为在防火墙内的局域网客户端提供访问Internet的途径, 比如: 学校的局域网单位局域网访问外部资源 2反向代理 反向代理方式是指代理原始服务器来接受来自Internet的链接请求然后将请求转发给内部网络上的原始服务器并将从原始服务器上得到的结果转发给Internet上请求数据的客户端。那么顾名思义反向代理就是位于Internet和原始服务器之间的服务器对于客户端来说就表现为一台服务器客户端所发送的请求都是直接发送给反向代理服务器然后由反向代理服务器统一调配。 客户端给服务器发送请求, 连接服务器, 用户不知道服务器地址, 只有反向代理服务器的地址是公开的请求直接发给反向代理服务器反向代理服务器将请求转发给后边的web服务器 web服务器 N 台反向代理服务器转发请求会轮询进行 web服务器收到请求进行处理, 得到结果web服务器将处理结果发送给反向代理服务器反向代理服务器将拿到的结果转发给客户端 二、Nginx 安装和配置 1.安装 Nginx相关依赖安装 OpenSSL密码库使用https进行通信的时候使用 http://www.openssl.org/ ./configuremakesudo make install ZLib数据压缩下载: http://www.zlib.net/ ./configuremakesudo make install PCRE解析正则表达式下载: http://www.pcre.org/ ./configuremakesudo make install
Nginx安装

nginx工作时候需要依赖三个库

三个参数这三个库对应的源码安装目录

具体目录需要根据自己的电脑的库安装包的位置进行指定

./configure –with-openssl../openssl-1.0.1t –with-pcre../pcre-8.40 –with-zlib../zlib-1.2.11 make sudo make install2.Nginx指令 Nginx的默认安装目录 /usr/local/nginxconf - 存储配置文件的目录html - 默认的存储网站(服务器)静态资源的目录 [图片, html, js, css]logs - 存储log日志sbin - 启动nginx的可执行程序Nginx可执行程序的路径 /usr/local/nginx/sbin/nginx

快速启动的方式

1. 将/usr/local/nginx/sbin/添加到环境变量PATH中

2. /usr/local/nginx/sbin/nginx创建软连接, 放到PATH对应的路径中, 比如: /usr/bin

ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx启动Nginx - 需要管理器权限 # 假设软连接已经创建完毕 sudo nginx # 启动

查看nginx运行状态

ps -ef | grep nginx关闭Nginx # 第一种, 马上关闭 sudo nginx -s stop

第二种, 等nginx做完本次操作之后关闭

sudo nginx -s quit重新加载Nginx sudo nginx -s reload # 修改了nginx的配置文件之后, 需要执行该命令测试是否安装成功 知道nginx对应的主机的IP地址 - 192.168.1.100在浏览器中访问该IP地址看到一个welcom nginx的欢迎界面
3.Nginx配置 Nginx配置文件的位置 /usr/local/nginx/conf/nginx.confNginx配置文件的组织格式 http - 模块, http相关的通信设置 server模块 - 每个server对应的是一台web服务器 location 模块处理的是客户端的请求 mail - 模块, 处理邮件相关的动作 常用配置项介绍
user nobody; # 启动之后的worker进程属于谁- 错误提示: nginx操作xxx文件时候失败, 原因: Permission denied - 将nobody - root worker_processes 1; # 设置worker进程的个数, 最大 cpu的核数 (推荐) error_log logs/error.log; # 错误日志, /usr/local/nginx pid logs/nginx.pid; # pid文件, 里边是nginx的进程ID

nginx的事件处理

events {use epoll; # 多路IO转接模型使用epollworker_connections 1024;// 每个工作的进程的最大连接数 }http-server - 每个server模块可以看做一台web服务器 server{listen 80; # web服务器监听的端口, http协议的默认端口,https默认443server_name localhost; # 对应一个域名, 客户端通过该域名访问服务器charset utf8; # 字符串编码location { // 模块, 处理客户端的请求} }# 客户端 (浏览器), 请求:http://192.168.10.100:80/login.html

服务器处理客户端的请求服务器要处理的指令如何从url中提取?- 去掉协议: http- 去掉IP/域名端口: 192.168.10.100:80- 最后如果是文件名, 去掉该名字: login.html- 剩下的: /服务器要处理的location指令: location /{处理动作}三、Nginx的使用

1.Web服务器 1静态网页存储目录 默认的存储目录 /usr/local/nginx/html自己创建新的目录 应该在 /usr/local/nginx/ mkdir /usr/local/nginx/mydir2Nginx静态网页设置 在Nginx服务器上进行网页部署, 实现如下访问在/usr/local/nginx/创建新的目录, 用来存储静态网页 几个问题 客户端发起访问地址访问静态网页: http://192.168.80.254/login.html 是访问服务器的哪个位置静态页面的login.html放到什么位置? 服务器要处理的动作 / - 服务器的资源根目录, /usr/local/nginx/yundisklogin.htm- 放到yundisk中#对应这个请求服务器要添加一个location location 指令(/) {# 找一个静态网页root yundisk; # 相对于/usr/local/nginx/来找# 客户端的请求是一个目录, nginx需要找一默认显示的网页index.html# index index.html index.htm; }

配置之后重启nginx

sudo nginx -s reload访问地址访问静态网页: http://192.168.80.254/hello/reg.html hello是什么?目录 reg.html放到哪儿?hello目录中 如何添加location? location /hello/ {root yundisk;# index xx.html;}访问地址访问目录: http://192.168.80.254/upload/ 浏览器显示upload.html 直接访问一个目录, 得到一默认网页 upload是一个目录, uplaod.html应该再upload目录中 location /upload/ {root yundisk;index upload.html; }2.反向代理和负载均衡 需要客户端 - 1个Window中的浏览器作为客户端 反向代理服务器 - 1个作为反向代理服务器 web服务器 - 2个 ubuntu - server1: 192.168.247.135 ubuntu - server2 : 192.168.26.250
1反向代理设置 修改nginx的配置文件 - conf/nginx.conf

代理几台服务器就需要几个server模块

将 domain_name1 与 domain_name2设置为映射到同一个ip地址# 客户端访问的url: http://192.168.1.100/login.html# server1server {listen 80; # 客户端访问反向代理服务器, 代理服务器监听的端口server_name domain_name1; # 客户端访问反向代理服务器, 需要一个域名location /

}# 添加一个代理模块upstream server1.test.com{server 192.168.247.135:80;}# server2server {listen 80; # 客户端访问反向代理服务器, 代理服务器监听的端口server_name domain_name2; # 客户端访问反向代理服务器, 需要一个域名location / {# 反向代理服务器转发指令, http:// 固定proxy_pass http://server2.test.com;}}# 添加一个代理模块upstream server2.test.com{server 192.168.26.250:80;} }2负载均衡设置 反向代理服务器需要做什么?server {listen 80; # 客户端访问反向代理服务器, 代理服务器监听的端口server_name localhost; # 客户端访问反向代理服务器, 需要一个域名location / {# 反向代理服务器转发指令, http:// 固定的头proxy_pass http://linux.com;}location /hello/ {# 反向代理服务器转发指令, http:// 固定的头proxy_pass http://linux.com;}location /upload/ {# 反向代理服务器转发指令, http:// 固定的头proxy_pass http://linux.com;}}# 添加一个代理模块upstream linux.com{server 192.168.247.135:80 weight1;server 192.168.26.250:80 weight3;}web服务器需要做什么?

192.168.247.135

location / {root xxx;index xxx; } location /hello/ {root xx;index xxx; } location /upload/ {root xxx;index xx; }# 192.168.26.250 location / {root xxx;index xxx; } location /hello/ {root xx;index xxx; } location /upload/ {root xxx;index xx; }3.总结 Nginx作为web服务器

部署静态网页

  1. 制作出来, 并且部署到对应的资源目录中

  2. 根据客户端的请求, 在服务器端添加对应的 location处理指令 - nginx.conf

  3. 重新加载nginx.conf配置文件 客户端请求的url: http://xxxx.com/hello/login.html- 去掉协议: http- 去掉域名/IP:- 去掉端口- 去掉尾部的文件名Nginx作为反向代理服务器

  4. 找到反向代理服务器 的配置文件: nginx.conf

  5. 找模块 http - server server{listen: 80; # 客户端访问反向代理服务器的时候使用的端口server_name: localhost; # 域名, 客户端访问反向代理服务器时候, 使用的地址# 配置如何转发, 根据客户端的请求的url找到对应的转发指令location /{# 设置转发地址proxy_pass http://test.com;} location /login{# 设置转发地址proxy_pass http://test.com;} }

    设置代理

    upstream test.com {# web服务器的地址信息server 192.168.1.100:80;server 192.168.1.101:80; }# 192.168.1.100 web服务器 http-server server{location /{# 设置转发地址root xxx;} location /login{# 设置转发地址xxxx;} }

    192.168.1.101 web服务器

    http-server server{location /{# 设置转发地址root xxx;} location /login{# 设置转发地址xxxx;} }四、相关内容补充 1.URL和URI URLUniform Resource Locator: 统一资源定位符表示资源位置的字符串 基本格式: “协议://IP地址/路径和文件名”ftp://ftp.is.co.za/rfc/rfc1808.txthttp://www.ietf.org/rfc/rfc2396.txttelnet://192.0.2.16:80/ URNUniform Resource Name: 统一资源名称 P2P下载中使用的磁力链接 URIUniform Resource Identifier: 统一资源标识符 是一个紧凑的字符串用来标示抽象或物理资源, URL是URI的一种让URI能成为URL的当然就是那个“访问机制”“网络位置”。e.g. http:// or ftp://。 files.hp.comtel:1-816-555-1212ftp://ftp.is.co.za/rfc/rfc1808.txt also a URLhttp://www.ietf.org/rfc/rfc2396.txt also a URLtelnet://192.0.2.16:80/ also a URL 经验式理解 http://localhost:8080/myweb/hello.html从包含关系上说: URI包含URL 字符串长度上说: URL包含URI UIRI可以没有协议, 没有地址(IP/域名)
    2.DNS解析过程 在浏览器中输入www.magedu.com域名操作系统会先检查自己本地的hosts文件是否有这个网址映射关系如果有就先调用这个IP地址映射完成域名解析。如果hosts里没有这个域名的映射则查找本地DNS解析器缓存是否有这个网址映射关系如果有直接返回完成域名解析。 Windows和Linux系统都会在本地缓存dns解析的记录提高速度。如果hosts与本地DNS解析器缓存都没有相应的网址映射关系首先会找TCP/IP参数中设置的首选DNS服务器在此我们叫它本地DNS服务器此服务器收到查询时如果要查询的域名包含在本地配置区域资源中则返回解析结果给客户机完成域名解析此解析具有权威性。如果要查询的域名不由本地DNS服务器区域解析但该DNS服务器已缓存了此网址映射关系则调用这个IP地址映射完成域名解析此解析不具有权威性。如果本地DNS服务器本地区域文件与缓存解析都失效则根据本地DNS服务器的设置没有设置转发器进行查询如果未用转发模式本地DNS就把请求发至13台根DNS根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后将会联系负责 .com域的这台服务器。这台负责 .com域的服务器收到请求后如果自己无法解析它就会找一个管理 .com域的下一级DNS服务器地址(magedu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后就会找magedu.com域服务器重复上面的动作进行查询直至找到www.magedu.com主机。如果用的是转发模式设置转发器此DNS服务器就会把请求转发至上一级ISP DNS服务器由上一级服务器进行解析上一级服务器如果不能解析或找根DNS或把转请求转至上上级以此循环。不管是本地DNS服务器用是是转发还是根提示最后都是把结果返回给本地DNS服务器由此DNS服务器再返回给客户机。