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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • 前言: 之前想着每天都更新一篇文章,但是连续几天之后,发现有好多博客大佬,所以觉得还是不要献丑好一点,然后就学习一...
    SuperGu阅读 1,279评论 1 0
  • 转载自:http://blog.csdn.net/u010391029/article/details/48311...
    Chris_Zheng阅读 1,382评论 0 2
  • 一、高可用集群 (一)提升系统高可用性的解决方案:冗余(redundant) 工作模式active/passive...
    哈喽别样阅读 1,719评论 2 5
  • 时间是这个世界上最快的东西,我们总是在蓦然回首的时候才发现,时间转瞬即逝,一年一晃而过,用”一眨眼”来形容实在不是...
    我是长今阅读 312评论 3 3