美文网首页
搭建java基本服务------防忘专用

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

作者: 方兵_ad3e | 来源:发表于2018-11-25 11:24 被阅读0次

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

            首先我们的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;

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

    相关文章

      网友评论

          本文标题:搭建java基本服务------防忘专用

          本文链接:https://www.haomeiwen.com/subject/fkpeqqtx.html