nginx入门笔记(完整版)

Linux开发环境搭建

一、准备Linux系统

1. 安装虚拟机软件

​ VMWare、VirtualBox

2.导入Ubuntu虚拟系统

3.常用命令

ifconfig # 查看ip地址
cat /proc/cpuinfo  # 查看CPU
cat /proc/meminfo  # 查看内存
cat /etc/lsb-release  # 查看操作系统信息
# 以管理员root的身份来执行操作
sudo reboot  # 重启
sudo halt # 关机
sudo shutdown -h now  # 关机
ping www.baidu.com  # 测试网络连通性

​ 连接服务器:

​ 输入ssh 服务器账户 @IP地址,然后根据提示输入密码

二、安装JDK

1. 下载

​ 使用sftp将JDK安装包上传到服务器上

2. 安装

#1.先解压缩
tar -zxf jdk-8u171-linux-i586.tar.gz
#2.配置环境变量
vi .bashrc
    export JAVA_HOME=/home/soft01/jdk1.8.0_171
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=$PATH:$JAVA_HOME/bin
#3.使.bashrc文件立即生效
source .bashrc  

三、安装Tomcat

1.下载

2. 安装

tar -zxf apache-tomcat-8.5.30.tar.gz
cd /apache-tomcat-8.5.30/bin
./startup.sh

四、安装MySQL

​ 在线安装:sudo apt-get install mysql-server

​ 查看进行信息:netstat -ntpl | grep 3306

​ 安装w3m,是一个基于文本的网页浏览器

五、Nginx

1. Nginx是什么?

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器

​ Nginx可以作为一个Web服务器进行网站的发布,也可以作为反向代理来实现负载均衡,也可以作为邮件服务器

​ 常见的Web服务器:Tomcat、Apache、Nginx、Weblogic、IIS等

2. 特点

​ 占用内存少,并发能力强

​ 官网:http://nginx.org

六、搭建Nginx环境

1. 安装Nginx

​ 在线安装的步骤:

  1. 下载nginx认证key文件,并添加到ubuntun的apt-key中

    wget http://nginx.org/keys/nginx_signing.key
    sudo apt-key add nginx_signing.key

    注:添加key认证文件是为了让Ubuntu的apt能够认证nginx的仓库源

  2. 添加nginx软件源

    sudo vi /etc/apt/sources.list
    
    deb http://nginx.org/packages/ubuntu/ trusty  nginx
    deb-src http://nginx.org/packages/ubuntu/ trusty nginx

  3. 安装nginx

    sudo apt-get update  # 更新nginx软件源
    sudo apt-get install nginx  # 安装nginx
  4. 测试

    http://ip地址

2. 目标结构

​ 执行whereis nginx查看

​ 命令程序:

  • /usr/sbin/nginx

​ 配置文件目录:

  • /etc/nginx

​ 虚拟主机目录:

  • /usr/share/nginx/

​ 日志目录:

  • /var/log/nginx/

3. 相关命令

sudo nginx # 启动
sudo nginx -s stop  # 停止 
sudo nginx -s reload
sudo nginx -c /etc/nginx/nginx.conf  # 启动时指定使用的配置文件

sudo netstat -ntpl | grep nginx  # 查看进程信息
ps aux | grep nginx

4. 配置文件

​ 核心配置文件 /etc/nginx/nginx.conf

​ default.conf

server {   # 一个server表示一个网站(虚拟主机)
    listen       80;  #端口
    server_name  localhost;  #服务器域名

    #根目录配置
    location / { 
        # 网站根目录的位置
        root   /usr/share/nginx/html;
        # 默认首页
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

七、HTTP服务器

1. 虚拟主机

​ 每个虚拟主机对应一个Web站点,有独立的域名和目录,其实就是在一台服务器上搭建多个网站

2. 配置

​ 步骤:

  1. 准备网站和首页

    mkdir -p www/ums
    echo "

    welcome to ums

    "
    > www/ums/index.html mkdir -p www/sms echo "

    welcome to sms

    "
    > www/sms/index.html
  2. 创建虚拟主机配置文件

    sudo cp default.conf ums.conf
    sudo cp default.conf sms.conf
    sudo vi ums.conf
    server {
         listen       80;
         server_name  www.ums.com;
    
         location / {
             root   /home/soft01/www/ums;
             index  index.html index.htm;
         }
     }
    sudo vi sms.conf
    server {
         listen       80;
         server_name  www.sms.com;
    
         location / {
             root   /home/soft01/www/sms;
             index  index.html index.htm;
         }
     }
  3. 解决域名解析问题

    在客户端电脑中配置域名解析

    修改C:\Windows\System32\drivers\etc\hosts文件

    192.168.4.39  www.ums.com
    192.168.4.39  www.sms.com

八、反向代理

1. 简介

  1. 正常请求

    客户端发送请求给服务器,服务器接收请求并响应数据

  2. 正向代理

    概念:位于客户端和原始服务器之间的服务器,为了从原始服务器获取数据,客户端向代理服务器发送请求并指定请求目标,然后代理服务器将请求转换给原始服务器,并将响应的数据返回给客户端

    正向代理是客户端使用的,对客户端进行代理,客户端知道并主动使用代理服务器

    作用:

    • 访问原来无法访问的资源,如
    • 可以做缓存,加速访问资源
    • 对客户端上网进行认证授权
    • 上网行为管理

  3. 反向代理

    概念:客户端发送请求给服务器(客户端认为是原始服务器,实际上是一台反向代理服务器),反向代理服务器接收请求并将请求转换给内部网络中的集群服务器,并将响应的数据返回给客户端

    反向代理一般用于服务器集群、分布式等,实现负载均衡

    反向代理是为内部服务器提供代理,对客户端来说是透明的,所以称为反向代理

    作用:

    • 负载均衡,提高响应和处理速度
    • 保证内网服务器的安全,隐藏内部服务器信息

2.配置

​ 使用Nginx作为反向代理服务器,如反向代理Tomcat

​ 步骤:

  1. 创建虚拟主机配置文件

    sudo cp default.conf proxy.conf
    sudo vi proxy.conf
     # 后台服务器列表
     upstream tomcat_server{
         server localhost:8080;   # 后台服务器
     }
    
     server {
         listen       80;
         server_name  www.tomcat.com;
    
         location / {
             proxy_pass http://tomcat_server;  # 指定代理的后台服务器
         }
     }
  2. 配置域名解析

    192.168.xx.xx www.tomcat.com

九、负载均衡

1. 简介

​ 将接收到的请求按照一定的规则分发给不同的服务器进行处理,从而提高系统的响应和处理速度,称为负载均衡

​ Nginx作为反向代理服务器,实现负载均衡

2. 配置

​ 步骤:

  1. 准备网站(模拟淘宝)

    cp -r apache-tomcat-8.5.30 taobao1
    cp -r apache-tomcat-8.5.30 taobao2
    vi taobao2/conf/server.xml
    
    # 修改端口(三个)
    
    vi taobao1/webapps/ROOT/index.jsp
    welcome to taobao1
    vi taobao2/webapps/ROOT/index.jsp
    welcome to taobao2  
  2. 创建虚拟主机配置文件,并配置反向代理,实现负载均衡

    
    # 后台服务器列表
    
    upstream taobao_server{
       # 默认按轮循方式来分发请求,平均分配
       server localhost:8080  weight=3;   # 表示权重,权重越高被分配的几率就越大
       server localhost:8081  weight=7;   # 后台服务器
    }
    
    server {
       listen       80;
       server_name  www.taobao.com;
    
       location / {
           proxy_pass http://taobao_server;  # 指定代理的后台服务器
       }
    
    }

你可能感兴趣的:(nginx,nginx,负载均衡,反向代理)