1.nginx学习

我们平时访问的网络网站就是WEB网络服务,允许用户通过浏览器访问互联网中的各种资源服务
WEB服务器会通过HTTP或者HTTPS的方式将请求内容传递给客户端

1.nginx学习

文章插图
目前常见的WEB服务有IIS, Nginx和Apache等
WEB服务器和WEB框架的区别
WEB服务器:接收HTTP请求并返回数据WEB框架:开发WEB应用程序,处理接收到的HTTP请求Nginx特点:
  • 开源免费
  • 高性能,高并发
    • 支持几万并发连接
    • 资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M
  • 安装灵活,使用方便
  • 功能丰富
    • 反向代理
    • 负载均衡
    • 缓存服务
    • 访问日志
1.安装nginx官方nginxtenginx淘宝nginx这2个一模一样,我这里采用后者,并且采用源代码安装
  • 下载源代码
    wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
    1.nginx学习

    文章插图
  • 解压缩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
2.常用命令
  • 第一次启动
    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
1.nginx学习

文章插图
 3.学习配置文件配置文件在nginx安装的conf目录
1.nginx学习

文章插图
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;}}}

推荐阅读