Nginx学习笔记

Nginx官网:http://nginx.org/
在线安装教程:http://nginx.org/en/linux_packages.html

一、目录结构

>>> whereis nginx #或者执行下面一条命令
>>> find / -name nginx

在这里插入图片描述

命令程序: /usr/sbin/nginx
主要配置文件: /etc/nginx/nginx.conf
日志目录: /var/log/nginx/
默认虚拟主机目录:/usr/share/nginx/html/
默认虚拟主机配置文件:/etc/nginx/conf.d/default.conf

主要配置文件nginx.conf中配置了虚拟主机配置目录conf.d/,我们将自定义的虚拟主机配置文件放于该目录下即可
在这里插入图片描述
在这里插入图片描述


二、相关命令

  1. 启动nginx
>>> nginx #适用于所有linux系统
>>> systemctl start nginx.service #适用于centos系统
  1. 重启nginx
>>> nginx -s reload #适用于所有linux系统
>>> systemctl restart nginx.service #适用于centos系统
  1. 关闭nginx
>>> nginx -s stop #适用于所有linux系统
>>> systemctl stop nginx.service #适用于centos系统
  1. 查看进程/端口调用
>>> netstat -ntpl | grep 80 #查看端口调用情况
>>> ps -aux | grep nginx #查看进程信息
  1. 使用指定的配置文件启动
>>> nginx -c /etc/nginx/nginx.conf #适用于所有linux系统

systemctl start nginx.service 指定了默认的配置文件
在这里插入图片描述


三、配置文件说明

  1. 主配置文件 nginx.conf
#运行nginx的用户
user  nginx;
#工作的进程数,可以根据电脑cpu的数量来进行配置
worker_processes  1;
#错误日志输出位置,warn是输出级别
error_log  /var/log/nginx/error.log warn;
#nginx运行时,进程号的存放位置
pid        /var/run/nginx.pid;
#工作模式的配置
events {
	#每个进程允许的连接数。一个nginx服务的最大连接数为进程数乘以允许连接数
    worker_connections  1024;
}
#http的配置
http {
	#支持的媒体类型
    include       /etc/nginx/mime.types;
    #默认的类型
    default_type  application/octet-stream;
	#日志输出格式
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
	#访问日志输出文件位置
    access_log  /var/log/nginx/access.log  main;
	#是否调用sendfile函数来输出日志
    sendfile        on;
    #tcp_nopush     on;
	#超时时间,单位:秒
    keepalive_timeout  65;

    #gzip  on;
	#引入外部配置文件,包含虚拟主机的配置
    include /etc/nginx/conf.d/*.conf;
}
  1. 虚拟主机配置文件夹default.conf(一个配置文件对应一个虚拟主机)
#虚拟主机的配置
server {
	#监听的端口
    listen       80;
    #主机地址(ip或域名)
    server_name  localhost;
	#网页的默认编码
    #charset koi8-r;
    #访问该虚拟主机的日志记录位置
    #access_log  /var/log/nginx/host.access.log  main;
	#根目录的配置
    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;
    }
}

注:每次修改完配置文件后都需要重启Nginx服务器


四、实现虚拟主机的三种方式

  1. 基于不同的ip (listen不变,server_name改变)
  2. 基于不同的端口 (listen改变,server_name不变)
  3. 基于不同的域名 (listen不变,server_name改变)

五、Nginx做图片服务器

  1. 上传图片:使用ftp或sftp方式来将图片上传到指定的ftp目录。
    在这里插入图片描述
  2. 下载图片:访问Nginx服务器,使用http请求来访问图片。
    在这里插入图片描述
  3. 强调:Nginx文件服务器除了需要文件的读权限外,还需要有文件的所有父目录的可执行权限,否则使用http请求访问图片时会报403错误
  4. 步骤1:创建保存图片的文件夹,并通过ftp连接将图片上传到该目录中。
>>> mkdir -p /www/static/image
  1. 步骤2:修改虚拟主机配置文件
>>> vi /etc/nginx/conf.d/test1.conf

往配置文件中加入:
location /images {
root /www/static;
autoindex on; #打开目录浏览功能
}
#解释:访问http://ip/images实际上访问的是服务器中/www/static/images


六、Nginx反向代理

  1. 开启tomcat服务器,确保能正常访问。
    在这里插入图片描述
  2. 创建虚拟主机配置文件,配置反向代理
>>> cd /etc/nginx/conf.d
>>> vi tomcat.conf #配置如下
>>> nginx -s reload

tomcat.conf:
在这里插入图片描述

  1. 注意:在Nginx配置文件中配置upstream时不能使用下划线“_”(如tomcat-addr不能写成tomcat_addr),否则在浏览器中访问代理服务器时,会显示404错误。-----据说Tomcat7可以使用下划线,但Tomcat8经测试不可以。
  2. 浏览器访问输入http://www.tomcat.com(经代理服务器后会访问到http://192.168.1.5:8080)
    在这里插入图片描述

七、Nginx负载均衡

  1. 准备多个Tomcat服务器(测试为单虚拟机环境)
>>> cd /usr/local #到tomcat安装目录下
>>> cp -r apache-tomcat-8.5.55 tomcat0 #拷贝两份tomcat
>>> cp -r apache-tomcat-8.5.55 tomcat1
>>> vi tomcat0/conf/service.xml #修改配置文件中的端口号(如tomcat0访问端口8080,tomcat1访问端口8081 )
>>> vi tomcat1/conf/service.xml
  1. 修改每个Tomcat的访问主页,便于区分
>>> vi tomcat0/webapps/ROOT/index.jsp
>>> vi tomcat1/webapps/ROOT/index.jsp
  1. 启动所有Tomcat服务器
>>> ./tomcat0/bin/startup.sh #启动服务器tomcat,访问端口8080
>>> ./tomcat1/bin/startup.sh #启动服务器tomcat1,访问端口8081

在这里插入图片描述
4. 创建虚拟主机配置文件,配置负载均衡

>>> cd /etc/nginx/conf.d
>>> cp default.conf tomcat.conf #拷贝一份配置文件
>>> vi tomcat.conf #修改配置文件

tomcat.conf:
在这里插入图片描述

  1. 负载均衡策略
策略说明
轮询默认方式
weight权重方式
ip_hash依据ip分配方式
least_conn最少连接方式
fair(第三方)响应时间方式
url_hash(第三方)依据URL分配方式

八、Nginx实现动静分离

简介:Tomcat处理静态资源效率不高,默认情况下所有资源都由Tomcat进行处理,会导致Web应用响应慢,占用系统资源。所以我们将静态资源交给Nginx处理,而Tomcat处理动态资源,实现动静分离。

  1. 创建静态资源文件夹并将Tomcat下的静态资源拷贝过来
>>> cd /www/static #切换至静态资源文件夹
>>> cp /usr/local/tomcat/webapps/ROOT/tomcat.css ./ #拷贝静态文件
>>> cp /usr/local/tomcat/webapps/ROOT/tomcat.png ./
>>> chmod 777 tomcat.css #修改文件权限
>>> chmod 777 tomcat.png

在这里插入图片描述

  1. 修改Nginx虚拟主机配置文件
>>> vi /etc/nginx/conf.d/tomcat.conf

tomcat.conf:
在这里插入图片描述

  1. 重启Nginx服务
>>> nginx -s reload
  1. 保证Tomcat服务器已被启动(如果没有,需要先启动)
>>> netstat -ntpl | grep 8080 #查看8080端口服务是否处于被监听状态
>>> netstat -ntpl | grep 8081
  1. 清除浏览器缓存,访问www.tomcat.com
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值