我们平时访问的网络网站就是WEB网络服务,允许用户通过浏览器访问互联网中的各种资源服务
WEB服务器会通过HTTP或者HTTPS的方式将请求内容传递给客户端
文章插图
目前常见的WEB服务有IIS, Nginx和Apache等
WEB服务器和WEB框架的区别
WEB服务器:接收HTTP请求并返回数据WEB框架:开发WEB应用程序,处理接收到的HTTP请求Nginx特点:
- 开源免费
- 高性能,高并发
- 支持几万并发连接
- 资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M
- 支持几万并发连接
- 安装灵活,使用方便
- 功能丰富
- 反向代理
- 负载均衡
- 缓存服务
- 访问日志
- 反向代理
- 下载源代码
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
文章插图
- 解压缩tar -zxvf tengine-2.3.2.tar.gz
- 指定安装目录,检查编译环境先更新本地依赖页sudo apt-get updatesudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev libssl-dev libxslt1-dev libxml2-dev libgeoip-dev libperl-dev libtoolsudo apt-get install openssl【1.nginx学习】./configure --prefix=/opt/tng232
- make进行编译sudo make
- 生成可执行文件sudo make install
- 配置环境变量sudo vim /etc/profilePATH="/opt/python390/bin/:/opt/tng232/sbin:/home/parallels/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"source /etc/profile
- 第一次启动
nginx -c /../nginx.conf# 指定启动的配置文件,不指定nginx会自动加载默认路径的配置文件 - 平滑启动
sudo nginx -s reload -c /opt/tng232/conf/nginx.conf # 平滑启动 , 重新读取nginx配置文件,不重启nginx进程 - 停止进程
nginx -s stop-c /opt/tng232/conf/nginx.conf # 停止nginx进程 - 检查Nginx配置文件语法
nginx -t -c /opt/tng232/conf/nginx.conf
http://10.211.55.5:80
文章插图
3.学习配置文件配置文件在nginx安装的conf目录
文章插图
nginx的配置文件是C语言风格的,以 ;结束每一行的配置配置文件是以代码块的形式编写的主要有以下几个模块http{}# 里面定义了多个代码块 , 是nginx的核心配置点server{}# 虚拟主机代码块,定义了监听端口等location{}# 域名匹配代码块#usernobody;# 定义nginx的工作进程数 以CPU核数为准worker_processes5;# 以下是日志功能error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#error_log"pipe:rollback logs/error_log interval=1d baknum=7 maxsize=2G";# 将pid写入文件中pidlogs/nginx.pid;events {# 每个worker进程支持的最大连接数worker_connections1024;}# 配置文件的核心区域http {includemime.types;default_typeapplication/octet-stream;# 打开nginx的访问日志功能log_formatmain'$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_loglogs/access.logmain;#access_log"pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G"main;sendfileon;#tcp_nopushon;#keepalive_timeout0;keepalive_timeout65;# 打开此功能,能够极大的提升网站访问,以及静态资源压缩gzipon;# 虚拟主机的核心配置server1 {listen80;server_namelocalhost;# nginx编码支持charset utf-8#charset koi8-r;#access_loglogs/host.access.logmain;#access_log"pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G"main;# nginx的域名匹配,所有的请求,都会进入到这里location / {# 定义该虚拟主机资料存放路径,可以自由修改roothtml;# 定义nginx首页文件名字,需要在root指定的目录下indexindex.html index.htm;}#error_page404/404.html;# redirect server error pages to the static page /50x.htmlerror_page500 502 503 504/50x.html;location = /50x.html {roothtml;}}# 可以定义第二个虚拟主机的配置server2 {listen90;server_namelocalhost;# nginx编码支持charset utf-8# nginx的域名匹配,所有的请求,都会进入到这里location / {# 定义该虚拟主机资料存放路径,可以自由修改roothtml;# 定义nginx首页文件名字,需要在root指定的目录下indexindex.html index.htm;}#error_page404/404.html;# redirect server error pages to the static page /50x.html#error_page500 502 503 504/50x.html;location = /50x.html {roothtml;}}}
推荐阅读
- 常用Python库整理
- 图学习参考资料 词向量word2vec
- 小山的英语读作什么 小山的英文
- JUC学习笔记——进程与线程
- Seata 1.5.2 源码学习
- Helm干货!速度围观!
- .NET 源码学习 [数据结构-线性表1.2] 链表与 LinkedList<T>
- MPC:百万富翁问题
- PGL Paddle Graph Learning 关于图计算&图学习的基础知识概览:前置知识点学习
- JVM学习笔记——内存模型篇