搭建java基本服务------防忘专用

2018-11-25  本文已影响0人  方兵_ad3e

        对于我们后台开发人员来说,很多时候去了公司第一件事就是安装各种环境,有的是用在电脑上,有的是在虚拟机上面,电脑上面的一般都比较好装,虚拟机上面很多就是通过命令,一般情况,换一次工作使用一次,不知道有多少人能记得比较清楚,反正我是不记得的。所以写一点自己在自己虚拟机上面的搭建方式,哪天忘记了再来看看。当然百度一下也有一大堆的。我自己记一下加深一下印象吧。

        首先我们的java,不说了,记得设置环境变量就可以了。win7在高级系统设置->环境变量->%JAVA_HOME%\bin; JAVA_HOME就是jdk的安装目录了,这样在任何目录下都可以执行java相关命令了,话说我没有专门配置classpath也运行的挺好的,所以我一直没有配。。。 mac的话稍微麻烦点,因为是仿linux的,所以需要命令进行打开/etc/profile文件,输入path和classpath内容,看这个链接吧https://www.cnblogs.com/zjx2711904647/p/7735556.html;

         IDEA大家可能用习惯了eclipse之后不喜欢换这个,但是只要你熟悉了这个之后,你一定不喜欢再用eclipse了,比如我,用了半年就很不喜欢eclipse了,尴尬。关于破解版,我有一个方法,如下:(mac版)

下载旗舰版 https://www.jetbrains.com/idea/download/#section=mac

解压缩安装,启动IDEA一次。

访问 http://idea.lanyus.com ,下载JetbrainsCrack-2.7-release-str.jar

将JetbrainsCrack-2.7-release-str.jar 放置到 IDEA/Contents/bin 文件夹下面

编辑idea.vmoptions, 增加一行:

-javaagent:JetbrainsCrack-2.7-release-str.jar

重新启动IDEA

填入http://idea.lanyus.com 上面的注册码,注册后重启。

    mysql:有两篇挺好的文章,分享一下,我win7和mac各装过一次,都是百度的,快忘光了。https://www.cnblogs.com/sshoub/p/4321640.htmlhttps://www.cnblogs.com/chengxs/p/5986095.htmlhttps://blog.csdn.net/u012721519/article/details/55002626(这个用来卸载了,mac版,我没干过)

        好了,下面才是我想说的关于在linux下装的东西,nginx,tomcat,redis单机和集群,zookeeper单机和集群。

        nginx:(有点杂乱,因为很多都是我以前的笔记复制的)

首先这个是c语言开发的,先yum –y install gcc-c++ 安装c的环境,然后安装pcre用于正则解析http模块,yum install -y pcre pcre-devel,还有http内容的压缩格式,gzip解压和压缩,yum install -y zlib zlib-devel。最后就是https的ssl密钥相关东西了,yum install -y openssl openssl-devel,这些都是基本环境的搭建。之后开始nginx的搭建;

        上传,解压都不用重复了,之后就是nginx的一些配置了,有点多,建议初学者复制,参数设置如下:

./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

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

mkdir -p /var/temp/nginx。。。之后编译安装,make make install,安装完成就是在sbin目录下直接启动nginx了。注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:./nginx -c /usr/local/nginx/conf/nginx.conf。如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))。

    停止和重启nginx,./nginx -s quit(不要使用stop,那样会将正在执行的任务直接kill),重启:建议先quit再启动,reload是用于重新加载配置的。

        配置虚拟主机,修改/usr/local/nginx/conf/nginx.conf文件,添加两个虚拟主机,如下:

#配置虚拟主机aaa.test.com 

server {

#监听的ip和端口,配置本机ip和端口

        listen 192.168.101.3:80;

#虚拟主机名称是aaa.test.com,请求域名aaa.test.com的url将由此server配置解析

        server_name aaa.test.com;  

#所有的请求都以/开始,所有的请求都可以匹配此location

        location / {

#使用root指令指定虚拟主机目录即网页存放目录

#比如访问http://ip/test.html将找到/usr/local/aaa_html/test.html

#比如访问http://ip/item/test.html将找到/usr/local/aaa_html/item/test.html

                root /usr/local/aaa_html;

#指定欢迎页面,按从左到右顺序查找

                index index.html index.htm;

        }

    }

#配置虚拟主机bbb.test.com

    server {

        listen 192.168.101.3:80;

        server_name bbb.test.com;

        location / {

                root /usr/local/bbb_html;

                index index.html index.htm;

        }

    }

最后配置两个tomcat反向代理

#配置一个代理即tomcat1服务器

upstream tomcat_server1 {

            server 192.168.101.5:8080;

        }

#配置一个代理即tomcat2服务器

    upstream tomcat_server2 {

            server 192.168.101.6:8080;

        }

#配置一个虚拟主机

    server {

        listen 80;

        server_name aaa.test.com;

        location / {

#域名aaa.test.com的请求全部转发到tomcat_server1即tomcat1服务上

                proxy_pass http://tomcat_server1;

#欢迎页面,按照从左到右的顺序查找页面

                index index.jsp index.html index.htm;

        }

    }

    server {

        listen 80;

        server_name bbb.test.com;

        location / {

#域名bbb.test.com的请求全部转发到tomcat_server2即tomcat2服务上

                  proxy_pass http://tomcat_server2;

                  index index.jsp index.html index.htm;

        }

    }

负载均衡配置,根据上边的需求在nginx.conf文件中配置负载均衡,如下:

upstream tomcat_server_pool{

        server 192.168.101.5:8080 weight=10;

        server 192.168.101.6:8080 weight=10;

        }

    server {

        listen 80;

        server_name aaa.test.com;

        location / {

                 proxy_pass http://tomcat_server_pool;

                 index index.jsp index.html index.htm;

        }

    }

配置nginx的高可用,主备 ,首先需要keepalived的软件用于心跳检测,rpm –ivh keepalived-1.2.13-5.el6_6.i686.rpm。。之后配置keepalived。

修改主nginx下/etc/keepalived/keepalived.conf文件

! Configuration File for keepalived

#全局配置

global_defs {

notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个

     XXX@XXX.com

   }

notification_email_from XXX@XXX.com  #指定发件人

#smtp_server XXX.smtp.com                             #指定smtp服务器地址

#smtp_connect_timeout 30                               #指定smtp连接超时时间

router_id LVS_DEVEL                                    #运行keepalived机器的一个标识

}

vrrp_instance VI_1 {

state MASTER           #标示状态为MASTER 备份机为BACKUP

interface eth0         #设置实例绑定的网卡

virtual_router_id 51   #同一实例下virtual_router_id必须相同

priority 100           #MASTER权重要高于BACKUP 比如BACKUP为99  

advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒

authentication {       #设置认证

auth_type PASS     #主从服务器验证方式

        auth_pass 8888

    }

virtual_ipaddress {    #设置vip

192.168.101.100       #可以多个虚拟IP,换行即可

    }

}

[if !supportLists]1.1.1.1 [endif]备nginx

修改备nginx下/etc/keepalived/keepalived.conf文件

配置备nginx时需要注意:需要修改state为BACKUP , priority比MASTER低,virtual_router_id和master的值一致

! Configuration File for keepalived

#全局配置

global_defs {

notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个

    XXX@XXX.com

   }

   notification_email_from XXX@XXX.com   #指定发件人

   #smtp_server XXX.smtp.com                              #指定smtp服务器地址

#smtp_connect_timeout 30                               #指定smtp连接超时时间

router_id LVS_DEVEL                                    #运行keepalived机器的一个标识

}

vrrp_instance VI_1 {

state BACKUP           #标示状态为MASTER 备份机为BACKUP

interface eth0         #设置实例绑定的网卡

virtual_router_id 51   #同一实例下virtual_router_id必须相同

priority 99            #MASTER权重要高于BACKUP 比如BACKUP为99  

advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒

authentication {       #设置认证

auth_type PASS     #主从服务器验证方式

        auth_pass 8888

    }

virtual_ipaddress {    #设置vip

192.168.101.100       #可以多个虚拟IP,换行即可

    }

}

    因为有可能出现nginx全部挂掉,但是keepalived没有挂掉的情况,这个可以写一个脚本,#!/bin/bash

#如果进程中没有nginx则将keepalived进程kill掉

A=`ps -C nginx --no-header |wc -l`      ##查看是否有 nginx进程 把值赋给变量A

if [ $A -eq 0 ];then                    ##如果没有进程值得为 零

service keepalived stop          ##则结束 keepalived 进程

fi  然后拷贝到/etc/keepalived下,即可。

修改主nginx的keepalived.conf,添加脚本定义检测:

注意下边红色标识地方:

#全局配置

global_defs {

notification_email {  #指定keepalived在发生切换时需要发送email到的对象,一行一个

     XXX@XXX.com

   }

notification_email_from miaoruntu@itcast.cn  #指定发件人

#smtp_server XXX.smtp.com                             #指定smtp服务器地址

#smtp_connect_timeout 30                               #指定smtp连接超时时间

router_id LVS_DEVEL                                    #运行keepalived机器的一个标识

}

vrrp_script check_nginx {

script "/etc/keepalived/check_nginx.sh"         ##监控脚本

interval 2                                      ##时间间隔,2秒

weight 2                                        ##权重

}

vrrp_instance VI_1 {

state MASTER           #标示状态为MASTER 备份机为BACKUP

interface eth0         #设置实例绑定的网卡

virtual_router_id 51   #同一实例下virtual_router_id必须相同

priority 100           #MASTER权重要高于BACKUP 比如BACKUP为99

advert_int 1           #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒

authentication {       #设置认证

auth_type PASS     #主从服务器验证方式

        auth_pass 8888

    }

   track_script {

check_nginx        #监控脚本

   }

virtual_ipaddress {    #设置vip

192.168.101.100       #可以多个虚拟IP,换行即可

    }

}

修改后重启keepalived;

还有缓存配置,不写了,因为上次不了文件。。我这个已经很难看了,所以再写点其他的好了。

上一篇下一篇

猜你喜欢

热点阅读