[JavaWeb-15]Nginx

文章目录

  • 1、Linux常用命令
  • 2、Vim编辑器
  • 3、重定向输出
  • 4、系统管理命令
  • 5、Linux的权限命令
  • 6、部署项目到Linux
  • 7、Nginx
    • 7.1 Nginx的安装
      • 7.1.1 什么是Nginx
      • 7.1.2 Nginx在Linux下的安装
    • 7.2 Nginx启动与访问
    • 7.3 Nginx静态网站部署
      • 7.3.1 配置虚拟主机
      • 7.3.2 配置反向代理
    • 7.3 负载均衡

1、Linux常用命令

  切换目录命令:cd 目录名称
  列出文件列表:lsll
  浏览目录:cat、more、less
    cat:用于显示文件的内容。格式:cat[参数]<文件名>
    more:显示的内容会超过一个画面长度的情况。按空格键显示下一个画面;
    less:用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
  tail:用于显示文件后几行的内容。例如:tail -10 /etc/passwd表示查看后10行的数据
  rm:删除文件,删除需要用户确认;
  rm -f:不询问,直接删除目录;
  rm -r:递归删除不询问递归删除(慎用)
  rm -rf:不询问递归删除
  rm -rf *:删除所有文件
  rm -rf /*:自杀
  打包、压缩和解压:tar,参数如下:
    -c:创建一个新tar文件
    -v:显示运行过程的信息
    -f:指定文件名
    -z:调用gzip压缩命令进行压缩
    -t:查看压缩文件的内容
    -x:解开tar文件
    打包:tar –cvf xxx.tar ./*
    打包并且压缩:tar –zcvf xxx.tar.gz ./*
    解压:tar –xvf xxx.tartar -zxvf xxx.tar.gz
  find / -name “ins*” :查找文件名称是以ins开头的文件
  grep:查找文件里符合条件的字符串
    grep lang anaconda-ks.cfg 在文件中查找lang
    grep lang anaconda-ks.cfg –color 高亮显示
  pwd显示当前所在目录

2、Vim编辑器

  首先了解Vim三种模式:命令行模式、插入模式、底行模式。要使用Vim来编辑文件,首先使用命令vim filename打开文件,此时是命令行模式,可以输入各种命令;要进行修改就输入命令i变成插入模式,此时可以编辑;编辑好要保存退出,就要再次回到命令行模式,按Esc就回到命令行模式,输入:wq表示保存并退出,输入:q!表示不保存退出。

3、重定向输出

  > 重定向输出,覆盖原有内容;
  >> 重定向输出,又追加功能;
  cat /etc/passwd > a.txt 将输出定向到a.txt中
  cat /etc/passwd >> a.txt 输出并且追加
  ifconfig > ifconfig.txt ifconfig输出的内容输入到ifconfig.txt文件中

4、系统管理命令

  ps 正在运行的某个进程的状态;
  ps –ef 查看所有进程;
  ps –ef | grep ssh 查找某一进程;
  kill 2868 杀掉2868编号的进程;
  kill -9 2868 强制杀死进程。
  管道 :|,就一个竖线符号,叫做管道,作用是将一个命令的输出用作另一个命令的输入。
    ls --help | more 分页查询帮助信息
    ps –ef | grep java 查询名称中包含java的进程
    ifconfig | more
    cat index.html | more
    ps –ef | grep aio

5、Linux的权限命令

  输入命令ll后可以看出每个文件前面会有“-rw-------”这样的描述,这是权限描述,说明这个文件的权限范围。含义如图所示:
[JavaWeb-15]Nginx_第1张图片
  文件类型有三种符号表示:-表示文件、d表示文件夹、l表示连接,类似于windows的快捷方式;
  属主权限表示当前用户所具有的权限,属组权限表示当前组的权限,其他用户表示其他组的权限。r表示可读、w表示可写、x表示可执行。
  修改权限方式有两种:
    chmod u=rwx,g=rx,o=rx a.txt
    chmod 755 a.txt
  第一种比较直观,但是繁琐,第二种比较方便,用数字表示,其中数字4表示r,数字2表示w,数字1表示x,7就是4+2+1,表示u=rwx,5就是4+0+1,表示rx。

6、部署项目到Linux

  IDEA里面的maven有个package命令,执行即可生成war包,放到linux下的tomcat的webapps目录下,然后重启tomcat,即可访问。

7、Nginx

7.1 Nginx的安装

7.1.1 什么是Nginx

  Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。
  Nginx 应用场景:
  1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
  2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

7.1.2 Nginx在Linux下的安装

  重新准备一台虚拟机作为服务器。比如IP地址为192.168.147.136
  1.环境准备:
    (1)安装 gcc 的环境:输入命令yum install gcc-c++然后一直y即可。
    (2)安装PCRE:输入命令yum install -y pcre pcre-devel
    (3)安装zcre-devel:输入命令yum install -y zlib zlib-devel
    (4)安装OpenSSL:输入命令yum install -y openssl openssl-devel
  2.Nginx下载:http://nginx.org/
  3.Nginx安装:
    (1)把 nginx 的源码包nginx-1.8.0.tar.gz上传到 linux 系统;
    (2)解压缩:tar zxvf nginx-1.8.0.tar.gz
    (3)进入nginx-1.8.0目录 使用 configure 命令创建makeFile 文件, configure 命令很长,如下所示:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

    执行后可以看到Makefile文件;
    (4)编译:make
    (5)安装:make install

7.2 Nginx启动与访问

  注意:启动nginx 之前,上边将临时文件目录指定为/var/temp/nginx/client, 需要在/var下创建此目录mkdir /var/temp/nginx/client -p,然后进入到Nginx目录下的sbin目录,输入命令./nginx即运行成功。
  启动后查看进程:ps aux|grep nginx
在这里插入图片描述
  地址栏输入虚拟机的IP即可访问(默认为80端口)。
  强制关闭 nginx:./nginx -s stop
  正常关闭 nginx:./nginx -s quit
  重启:./nginx -s reload

7.3 Nginx静态网站部署

  将/资料/静态页面/index目录下的所有内容 上传到服务器的/usr/local/nginx/html下即可访问。

7.3.1 配置虚拟主机

  虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极大的促进了网络技术的应用和普及。同时虚拟主机的租用服务也成了网络时代的一种新型经济形式。
  (1)上传静态网页到/usr/local/nginx/xx下,xx指的是文件夹名称;
  (2)修改Nginx 的配置文件:/usr/local/nginx/conf/nginx.conf

server {
        listen       82; # 监听的端口
        server_name  localhost; # 域名或ip
        location / {	# 访问路径配置
            root   xx;# 根目录,即上床的文件夹的名称
            index  regist.html; # 默认首页
        }
        error_page   500 502 503 504  /50x.html;	# 错误页面
        location = /50x.html {
            root   html;
        }

  (3)访问测试:浏览器输入:192.168.147.136:82即可访问。

7.3.2 配置反向代理

  反向代理即用户浏览器不是直接访问tomcat服务器,而是访问Nginx服务器,然后Nginx再去访问tomcat。
  (1)在Nginx主机修改 Nginx配置文件

upstream tomcat-travel{
	server 192.168.147.136:8080;
}

server {
	listen       80; # 监听的端口
	server_name  192.168.147.136; # 域名或ip
	location / {	# 访问路径配置
            # root   index;# 根目录
	proxy_pass http://tomcat-travel;
	index  index.html index.htm; # 默认首页
	}
}

  (2)重新启动Nginx 然后用浏览器测试192.168.147.136

7.3 负载均衡

  负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
  负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
  修改配置文件如下:

{ 
	...	
	upstream tomcat-travel {
	   server 192.168.147.136:8080;
	   server 192.168.147.136:8081;
	   server 192.168.147.136:8082;
    }

    server {
        listen       80; # 监听的端口
        server_name  www.hmtravel.com; # 域名或ip
        location / {	# 访问路径配置
            # root   index;# 根目录
	    	proxy_pass http://tomcat-travel;

        	index  index.html index.htm; # 默认首页
        }
        error_page   500 502 503 504  /50x.html;	# 错误页面
        location = /50x.html {
            root   html;
        }
    }

  可以看到upstream中有三个tomcat服务器,当用户访问网页时,nginx会随机访问其中一个部署了该网页的服务器。如果某一台服务器性能更好,要访问概率更高一点,则设置权重即可:

	upstream tomcat-travel {
	   server 192.168.147.136:8080;
	   server 192.168.147.136:8081 weight=2;
	   server 192.168.147.136:8082;
    }

  此时,访问三台服务器的概率是1:2:1

你可能感兴趣的:(JavaWeb,linux,nginx,java)