nginx服务器:

安装服务:
nginx源码包安装:
yum -y install gcc pcre-devel openssl-decel
tar -xf nginx -1.8.0.tar.gz
cd nginx-1.8.0
./configure
--with-http_ssl_module(用于配置做加密网站使用的)
--user (指定启动服务的用户,不指定默认nobady)
--perfix=(指定安装路径,默认/usr/local/nginx)
make
make install

(有nginx的源码安装脚步可以使用脚本安装)
./inatsll_lnmp.sh(脚本装包)
nginx (起服务)
nginx -s stop(关服务)
nginx -s reload(重新加载配置文件在不关闭的情况了)
nginx -V (查看当前ngingx的软件信息-->模块包;版本等)

nginx的配置文件vim /usr/local/nginx/conf/nginx.conf
http的网站
全局【日志 并发 用户】
http{
server{
listen 80;
server_name www.a.com;
root html;
}
server{
listen 80;
server_name www.b.com
root html;
}
} (默认有测试用网页)

用户认证:(实现输入用户名密码才可以访问网站)

在server_name ..下面加:
    auth_basic "Input Password:"   (认证提示符)
    auth_basic_user_file "/usr/local/nginx/pass" (指定认证用户名密码存放文件)

创建存放的用户名及密码的文件及创建用户:
yum -y install httpd-tools (创建用户名密码的命令)
htpasswd -c /usr/local/nginx/pass tom (m指定加密默认有-c新建用户指定,需要追加用户不加c)
nginx -s reload (重起服务)
查看日志在:
ls /usr/local/nginx/logs/

模块化设计Linux:
./configure (默认选择安装最常用的)
./configure --with-abc --with-qq ...(添加abc的模块功能和qq的模块的功能) <查看 >

升级nginx服务:
1.8.0--->1.9.0
1.8.0--->https--->
tar -xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --with-http_ssl_module
make
cp objs/nginx /usr/local/nginx/sbin
cp html /usr/local/nginx
cp conf /usr/local/nginx
cp logs /usr/local/nginx

###########################################################

虚拟主机(一个nginx实现多个网站)
基于域名、基于IP、基于端口
基于域名:
server {
listen 80;
server_name www.a.com;
auth_basic "Input Password:";
auth_basic_user_file "/usr/local/nginx/pass";

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
        root   html;
        index  index.html index.htm;
        }
}

server {
    listen       80;
    server_name  www.b.com;

    location / {
        root   web;
        index  index.html index.htm;
     }
 }

生成一个新的目录web,在改文件下生成新的网页文件index.onf

基于IP:
Listen *:80(默认是所有IP全部允许Liten 80)
server {
listen 192.168.2.5:80
server_name www.b.com;

    location / {
        root   web;
        index  index.html index.htm;
     }
 }

基于端口:在Listen的IP后面直接加 :端口号
server {
listen 192.168.4.5:8000
server_name www.b.com;

    location / {
        root   web;
        index  index.html index.htm;
     }
 }

在基于端口里面不输入端口号默认是访问从上往下第一个

##############################################################

实现访问网站时需要用户名和密码:
用户认证【http协议是明文协议】:使用https解决
密钥:对称密钥(单机加密)、非对称密钥(网络加密)、信息摘要(数据安全)
123 123 123
加密方式:DES,AES RSA,DSA md5,sha128,sha256
md5sum 文件 (查看文件的额校验值)

1.钥和公钥:
cd /usr/local/nginx/conf/ (生成的密钥必须在配置文件的目录下)
openssl genrsa > cert.key (生成私钥 另存成文件 文件名字openssl genrsa -out cert.key一样)
vim cert.key (存放的密钥内容)
openssl req -new x509 -key cert.key -out cert.pem
(对刚创建的cert.key生成公钥 导出证书 cert/.pem)
国家(两个字母必须)省份、城市、公司、部门、服务器名、.
2.配置# vim /usr/local/nginx/conf/nginx.conf(在配置最下面有模板)
server {
listen 443 ssl;
server_name www.c.com;

    ssl_certificate      cert.pem;
    ssl_certificate_key  cert.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

#################################################################

nginx反向代理:( 1.实现缓存与代理服务器相同
2.不实现缓存 调度器 实现负载均衡 带健康检查
多个后台web服务器安装配置
配置/usr/local/nginx/conf/nginx.conf
( cp nginx.conf.default nginx.conf )
在第一个server之上加:
upstream webserver { (为后台集群定义)
server 192.168.2.100 (server指定后台)
server 192.168.2.200
}
location / {
proxy_pass http://webserver; (指定转发调用集群)
}
保存重启服务客户机进行验证

upstream webserver {
server 192.168.2.100 max_fails=1 fail_timeout=30;
(指定连接最大的失败次数,失败之后的超时的时间为30)
server 192.168.2.200 weight=2;
(权重不写默认为1权重越 大处理的越多)
}

重起服务验证

upstream webserver {
ip_hash;
(实现相同客户端访问的是相同的服务器)
server 192.168.2.100 max_fails=1 fail_timeout=30;
server 192.168.2.200 weight=2;
}

重起服务验证