SHELL实战Nginx虚拟主机(SHELL编程企业必备)笔记心得


#1

1.Nginx软件概念

  • Nginx一款主流的 WEB服务器 提供上浏览服务
  • Nginx主要用于发布WEB网站 发布静态网站 例:HTML 结尾网页 静态页面
  • 互联网主流3大WEB服务器 Apache Nginx IIS 发布 web网站

2.Nginx软件特点

  • 高并发能力非常强 官方标称5W/s
  • Nginx 最早作为邮件服务器 占用资源比较少 是一个轻量级Web服务器
  • Nginx跟Apache同一级别 参数 对比Nginx的性能是Apache 至少是10倍+
  • Nginx是一个 负载均衡 均衡后端APP 或者 后端各种服务 Nginx 担当统一的访 问入口 用户访问后端多个APP网站经过Nginx
  • Nginx是一个 反向代理服务器 用户可以Nginx Web服务器 Nginx将用户请求转 发至后端 后端处理完 Nginx再将数据返给用户

注意:

Nginx可以是负载均衡但必须加反向代理
只要提供负载均衡就一定是反向代理 反向代理不一定是负载均衡

  • Nginx默认可对后端APP 网站进行健康检查 发现问题会剔除列表
  • Nginx支持PHP cgi 和FastCGI方式
  • Nginx基于7层负载转发 LVS是基于4层负载转发

3.Nginx工作原理

4.Nginx安装配置

二进制方式安装
    基于RPM YM 直接安装使用 也可以直接使用 无需安装
    Nginx首选推荐源码安装 
源码安装
    基于GCC编译器  ./configure make make install 编译 安装 生成二进制文件
        ps -ef |grep nginx #查看是否启动Nginx服务
        ps -ef |grep Httpd #查看是否启动Httpd服务

1

新建一个今天日期的文件夹

 mkdir -p /data/sh/`date +%F 

下载Nginx

wget http://nginx.org/download/nginx-11.12.1.tar.gz


解压Nginx

tar -zxvf nginx-11.12.1.tar.gz

接下来建议先安装以下 寄存库
因为在接下来的Nginx安装中可能会出现一些令人头疼的报错

yum install gcc gcc-c++ glibc glibc-devel pcre-devel pcre zlib zlib-devel-y
 .configure --prefix=/usr/loacal/nginx --user=hacker --group=hacker --with-http_ssl-module --with-http_geoip_module --with-http_stub-status_module
#   -with-http_ssl_module 设置为白名单 然所有人都能够访问

出现报错
错误:“./configure: error: C compiler cc is not found”

安装GCC

yum install gcc     
whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc
cd /usr/bin/
ls -alh gcc
gcc -> gcc-4.9
sudo ln -s gcc-4.9 cc
CC=gcc
export CC


出现报错大概是缺少PCRE库 缺少GeoIP库

yum install "*PCRE*"

安装 之后

yum install "*GeoIP*"

安装 之后


缺少的库安装完之后再次执行以下命令

.configure --prefix=/usr/loacal/nginx --user=hacker --group=hacker --with-http_ssl-module --with-http_geoip_module --with-http_stub-status_module


注意:在安装库的时候 若是出现冲突 可以使用--skip-broken跳过冲突
没有报错了
那么现在可以

make



成功配置
现在我们来启动试试

whereis nginx
cd local
/usr/local/nginx/sbin/nginx

出现报错了


错误的原因是没有创建hacker这个用户,应该在服务器系统中添加hacker用户组和用户hacker

/usr/sbin/groupadd -f hacker
/usr/sbin/useradd -g hacker hacker


应该是启动成功了
我们ps来看一下

ps -ef -|grep nginx


完美
只看一下80port

netstat -tnpl|grep 80


我们可以试着访问一下


Partners Wiki IRC