欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx服务器

程序员文章站 2022-06-11 16:28:02
...

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

---Nginx服务器
   -->轻量级的http服务器
   -->反向代理服务器

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

---部署Nginx服务器

(1)使用源码包安装nginx软件包

yum -y install gcc pcre-devel openssl-devel   //安装依赖包

tar -xf nginx-1.8.0tar.gz    //解压到当前目录
cd nginx-1.8.0  //进入当前目录
./configure \
>--prefix==/usr/local/nginx \   //指定安装目录
>--with-http_ssl_module     //开启SSL加密功能

.....
.....
make    //编译
make install   //安装

echo $PATH
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/   //制作软连接(快捷方式)
nginx    //启动服务
nginx -s stop  //关闭服务
nginx -s reload //重新加载配置文件
nginx -V     //查看软件信息

ls /usr/local/ngins
conf      --> 配置文件
sbin      --> 启动程序
log       --> 服务日至
html      --> 网页内容目录

(2)升级新版本nginx软件
tar -xf nginx-1.8.0tar.gz
cd nginx-1.8.0 
./configure \    
>..       \
>..                     //安装其他功能
make
cp /nginx-1.8.0/objs/nginx /usr/local/nginx/sbin  //拷贝新版本
make upgrate   //升级

---nginx 制作网页
【nginx】
修改nginx配置文件
/usr/local/nginx/conf/nginx.conf

server {
    listen 80;
    server_name localhost;
}
location / {
    root html;
    index index.html index.htm;
}

echo "192.168.4.5" > /usr/local/nginx/html/index.html

【客户端】
firefox 192.168.4.5
192.168.4.5
########################

---加入用户认证:
修改配置文件
/usr/local/nginx/conf/nginx.conf

server {
    listen 80;
    server_name localhost;
    auth_basic "Input Passwd";
    auth_basic_user_pass "/usr/local/nginx/pass";
}
location / {
    root html;
    index index.html index.htm;
}
pass 目录不用手动创建 可使用 httpd-tools 软件
yum -y install httpd-tools
htpasswd -c /usr/local/nginx/pass tom   //追加用户 不用 -c
passwd :123456
passwd :123456
nginx -s reload

【客户端】
firefox 192.168.4.5
user:tom
passwd:123456
192.168.4.5

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

     ---基于域名的虚拟主机

     修改配置文件

     http {
         server {
          listen 80;
          server_name www.a.com;

            location / {
            root html;
            index index.html;
                }
            }
          server {
             listen 80;
             server_name www.b.com;

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

         nginx -s reload

         mkdir /usr/local/nginx/web
         echo "www.b.com" > web/index.html

         【验证】
         vim /etc/hosts
         www.a.com 192.168.4.5
         www.b.com 192.168.4.5

         firefox www.a.com
         firefox www.b.com

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

            -SSL 虚拟主机

            公钥(证书)-- 用于加密
            私钥 ---     用于解密

            openssl grnrsa > private.key   //生成私钥
            openssl rep -new -x509 -key private.key > public.pem //生成公钥
            修改配置文件

            usr/local/nginx/conf/nginx.conf

           server { 
                  listen 443;
                   server_name localhost;

                 ssl_certificate      public.pem;
                 ssl_certificate_key  private.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 -t

        firefox https://192.168.4.5

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

        反向代理(调度服务器)(轮询)

        修改配置文件

        /usr/local/nginx/conf/nginx.conf

        http {

           upstream abc {
            #ip hash;   //根据客户端IP分配固定的后端服务器
            server 192.168.4.100 #max_fails=1 fail_timeout=30;//最大失败次数 1次,失败后,暂
                                                停提供服务的时间
            server 192.168.4.200 #weight=2 down;//权重2 访问此页面2次 down 当前server不参与负
                                        载
          }
           server {

            ....
              location {
               proxy_pass http://abc
            ...
                }
                }
             }

             nginx -t

             firefox 192.168.4.5
             firefox 192.168.4.5

转载于:https://blog.51cto.com/13402236/2051812