Linux环境搭建

一、安装JAVA环境(jdk)

1、安装tar命令

在Linux环境下,通过tar -zxvf 命令解压文件

yum install -y tar

2、配置Java环境,安装jdk

官网手动下载  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

此处提供个官方的账号:2696671285@qq.com   密码:Oracle123

3、解压文件

使用xftp将jdk源码包,上传到/usr/local(软件一般安装到这个目录)

tar -zxvf  jdk-8u211-linux-x64.tar.gz

顺手删掉jdk源码包

rm -rf jdk-8u211-linux-x64.tar.gz

4、配置环境变量

/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西

vim /ect/profile

按i进入编辑,在profile文件尾部添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_181  #jdk安装目录
 
export JRE_HOME=${JAVA_HOME}/jre
 
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
 
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
 
export PATH=$PATH:${JAVA_PATH}

 

Esc --> :wq

保存并退出编辑

通过命令source /etc/profile让profile文件立即生效

[root@localhost local]# source /etc/profile

5、检测jdk是否安装成功

java -version

二、安装nginx

Nginx是C语言开发,nginx安装前需具备gcc g++环境在安装时进行编译。可通过下面命令查看是否有这三个包

//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

安装nginx

可在nginx官网http://nginx.org/download/查看最新版本

之后通过wget在线下载tar.gz压缩包安装

wget http://nginx.org/download/nginx-1.12.2.tar.gz

离线方式可在互联网环境进入上面的地址下载好后FTP到主机安装,压缩包安装方式如下

tar -zxvf nginx-1.12.2.tar.gz

cd nginx-1.12.2

./configure && make && make install

②nginx使用

常用命令

/usr/local/nginx/sbin/nginx -h                                                         命令帮助

/usr/local/nginx/sbin/nginx                                                             启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf      配置文件方式启动

/usr/local/nginx/sbin/nginx -s stop (quit)                                       停止nginx

/usr/local/nginx/sbin/nginx -s reload                                             重启nginx

/usr/local/nginx/sbin/nginx -t                                                         验证配置文件(检测是否安装成功)

ps -ef | grep nginx                                                                         查看nginx进程

netstat -tunlp                                                                                 查看端口占用

netstat -tunlp |grep                                                                        查看指定端口

kill -QUIT Nginx主进程号                                                               停止进程

kill -TERM Nginx主进程号                                                              快速停止

kill -9 nginx                                                                                     强制停止

kill -HUP Nginx主进程号                                                                平滑重启

nginx的配置文件为安装目录下的nginx目录中的nginx.conf,默认端口为80,启动后出现如下页面即为启动成功

③nginx反向代理

nginx反向代理有两种配置方式,一种为直接在location的proxy_pass属性中指定跳转地址,另一种为指定upstream(upstream模块是命名一个后端服务器组),在proxy_pass处写上upstream名称即可

④nginx负载均衡

nginx负载均衡策略

(1)轮询:轮流处理请求,每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器宕掉,自动剔除,剩下的继续轮询。

upstream myServer {    

    server 192.168.1.1:9090 down;   //down表示此节点不参与负载

    server 192.168.1.1:6060  fail_timeout=10s max_fails=2;  //10S内连接失败2次就认为这个服务器工作不正常

    server 192.168.1.1:7070 backup;   //当其他所有的非backup机器宕机时,才会请求backup机器

}  

 

down

表示服务器永久停机,不参与负载

bakcup

表示服务器为备用服务器,当其他服务器全部停机时,请求才会发送到这里

fail_time

服务器会被认为停机的时长,默认为10s

max_fails

允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

fail_timeout

fail_timeout与max_fails要关联使用,一台服务器在fail_timeout内出现了max_fails次失败,则认为这台服务器已经挂掉,然后在fail_timeout时间后会尝试重新连接。

nginx负载均衡的默认策略为轮询方式,在轮询中,如果服务器donw了,会自动剔除该服务器。

(2)权重:通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。

upstream myServer {

    server localhost:8080   weight=2; 

    server localhost:8082   backup;  

    server localhost:8083   max_fails=3 fail_timeout=20s; 

}

权重方式可以与ip_hash和 least_conn结合使用。

(3)IP地址哈希(ip_hash):每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。

upstream myServer {

    ip_hash;  

    server localhost:8080   weight=2;  

    server localhost:8081;

}

(4)最少连接(least_conn):web请求会被转发到连接数较少的服务器上,适合请求处理时间长短不一造成服务器过载的情况

upstream myServer {

    least_conn;   

    server localhost:8080   weight=2;  

    server localhost:8081;

    server localhost:8082 backup;

    server localhost:8083   max_fails=3 fail_timeout=20s;  

}

(5)最短响应时间(fair):按照服务器端的响应时间来分配请求,响应时间短的优先分配。

upstream myServer {

    server localhost:8080;

    server localhost:8081;

    server localhost:8082;

    server localhost:8083;

    fair;

}

(6)URL地址哈希(url_hash):按访问的url进行分配,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,造成不必要的多次下载。使用url_hash后同一url每次到达一台服务器,可以缓存资源,不会造成多次下载。

upstream myServer {

    hash $request_uri;   

    server localhost:8080;  

    server localhost:8081;  

    server localhost:8082;  

    server localhost:8083;  

}

【注】

Nginx proxy_pass后的url加不加/的区别

在nginx中配置proxy_pass时,若url中端口号后无内容,当在后面的url加上了/相当于是绝对根路径。则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。若端口号后有内容,则无论后面是否有/,都不会把location中匹配的路径部分代理走。
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值