下载JDK到linux上
- 在当前可以联网的电脑中下载JDK版本
jdk下载地址,下载对应的.gz包,这里以jdk-8u181-linux-x64.tar.gz为例 - 通过linux FTP将对应的.gz包上传到linux服务器上
- 在linux服务器上新建一个文件夹,用于存放解压后的jdk文件
#创建目录
sudo mkdir /user/jdk
- 解压jdk文件到上步骤的文件夹中
sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /user/jdk1.8.0_131
linux上配置jdk
修改环境变量(类似windows环境配置)
- 先打开配置文件profile
#终端输入
sudo vim /etc/profile
- 键盘输入e(edit编辑)
- 点击insert键,修改当前文件,在最底下新增如下几个语句
JAVA_HOME=/user/jdk1.8.0_131
CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:
PATH=.:$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASS_PATH
- 点击ESC,在终端输入:wq保存并且退出编辑。然后输入
# 重新加载系统配置文件(环境变量)
source /etc/profile
- 在终端输入
java -version
查看是否安装成功
linux上配置安装nginx
1、 在终端输入如下命令
#安装nginx
sudo apt-get install nginx
#安装必被组件
yum install gcc-c++
#安装ssl
wget http://www.openssl.org/source/openssl-fips-2.0.10.tar.gz0.tar.gz
tar zxvf openssl-fips-2.0.1
cd openssl-fips-2.0.10
./config && make && make install
2、编辑配置文件
#由于这种安装方式的linux的目录是系统默认的
sudo vim /etc/nginx/nginx.conf
里面配置文件内容如下
user www-data; # ser是个主模块指令,指定Nginx Worker进程运行用户以及用户组
worker_processes auto;# 是个主模块指令,指定了Nginx要开启的进程数。每个Nginx进程平均耗费10M~12M内存。建议指定和CPU的数量一致即可
pid /run/nginx.pid; # 主模块指令,用来指定进程pid的存储文件位置
include /etc/nginx/modules-enabled/*.conf;#绑定worker进程和CPU, Linux内核2.4以上可用
#events是设定Nginx的工作模式及连接数上限
events {
worker_connections 768;#连接数
# multi_accept on;
user epoll;#工作模式:epoll(轮询)。nginx工作模式有select、poll、kqueue、epoll、rtsig和/dev/poll。其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,不同的是epoll用在Linux平台上,而kqueue用在BSD系统中。对于Linux系统,epoll工作模式是首选。
}
http {
##
# Basic Settings
##
sendfile on; #用于开启高效文件传输模式。将tcp_nopush和tcp_nodelay两个指令设置为on用于防止网络阻塞;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
#负载均衡服务器设置
# upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡。在上面的设定中,通过upstream指令指定了一个负载均衡器的名称mysvr。这个名称可以任意指定,在后面需要的地方直接调用即可。
upstream mysvr {
#目前支持四种调用算法:
#1.轮询(默认)、
#2.Weight(权重,越大访问几率越大)、
#3.ip_hash(按照ip的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题)
#4.fair (ip算法)比上面两个更加智能的负载均衡算法。此种算法可以依据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块;
#5.url_hash(按照Urlhash值) 按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包
ip_hash;
# server命令指定后端服务器ip和端口,端口后的状态有
#1.down(宕机,不参与负载均衡)
#2.backup(备份,一般不参与负载均衡)
#3.max_fails(允许失败的次数,当超过最大次数时,返回proxy_next_upstream 模块定义的错误)
#4.fail_timeout:在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
#注:一般调度算法为ip_hash的时候不允许有backup
server 127.0.0.1:8080 max_fails=3 fail_timeout=20s;
server 127.0.0.1:8090;
}
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log; #日志打印地址
#虚拟主机设置,一般建议写在另外一个文件,include进来
server {
keepalive_requests 120; #单连接请求上限次数。
listen 80; #监听端口
server_name 192.168.93.128; #用来指定IP地址或者域名,多个域名之间用空格分开
# location支持正则表达式匹配,也支持条件判断匹配,用户可以通过location指令实现Nginx对动、静态网页进行过滤处理。使用location URL匹配配置还可以实现反向代理
location ~*^.+$ {
#l【ocation ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 】 所有扩展名以.gif、.jpg、.jpeg、.png、.bmp、.swf结尾的静态文件都交给nginx处
proxy_pass http://mysvr;
}
}
##
# Gzip Settings
##
gzip on;#表示开启GZIP压缩,实时压缩输出数据流
# gzip_vary on;#选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过Nginx压缩的数据。
# gzip_proxied any;
# gzip_comp_level 6;# 用来指定GZIP压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗cpu资源
# gzip_buffers 16 8k;#表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果;
# gzip_http_version 1.1;#用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; #用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
linux上配置安装tomcat(多tomcat情况)
- 在联网的电脑上下载好tomcat的.gz版本,并用ftp上传至服务器
- 通过tar命令解压至一个目录
- 将第二个tomcat同理解压到另外一个目录
如图所示: - 然后给两个解压后的文件夹赋予权限,例如:
sudo chmod 755 -R apache-tomcat-8.5.49
- 修改bin目录下的startup.sh和shutdown.sh文件,在文件倒数第二行加上java环境变量
#新增java环境
export JAVA_HOME=/user/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:%{JAVA_HOME}/lib:%{JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#一定要在这个上边加!
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
- 因为是多tomcat,所以需要去修改/etc/profile中的系统变量
#第一个Tomcat
CATALINA_BASE=/user/tomcat/apache-tomcat-8.5.49
CATALINA_HOME=/user/tomcat/apache-tomcat-8.5.49
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat
CATALINA_2_BASE=/user/tomcat/apache-tomcat
CATALINA_2_HOME=/user/tomcat/apache-tomcat
export CATALINA_2_BASE CATALINA_2_HOME
- 修改其中一个tomcat目录/bin/catalina.sh
- 将服务器的ip:端口添加到nginx,完成整合
效果
同时访问http://192.168.93.128:80/demo/registerUser
8080端口结果为
8090端口为0