JAVA - 部署2019-03-27

1)

准备好环境

1.1创建虚拟机(如果是引用过来得虚拟机,只需修改虚拟机的配置文件)

创建虚拟机
update VirtualHW.version

选择所在的iso文件

选择镜像文件

设定好配置,由于所有的配置都放在一个server上,相对应的配置设定得高

配置内存8GB

配置好网络

网络

配置好root密码

root密码


1.2配置static ip

重启后可以配置static ip:

First check your Gateway IP in NAT Settings of Virtual Network Editor

gateway ip

Below is the only network I have in VM:  by command: nmcli d

cd /etc/sysconfig/network-scripts

yum install vim

vim ifcfg-ens33

config ifcfg*** file


restart network: systemctl restart network(service network restart), ip:192.168.16.139

connect by SSH

connect by WinSCP


1.3 Install Java

We need jar to unzip war file, so we should not use open jdk

[root@s132-148-87-25 ROOT]# rpm -qa|grep java   

[root@s132-148-87-25 ROOT]# rpm -e --nodepsjava-1.8.0-openjdk-headless-1.8.0.201.b09-2.el7_6.x86_64

[root@s132-148-87-25 ROOT]# rpm -e --nodepsjava-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64

If you do not see any openjdk, then go ahead:

[root@s132-148-87-25 ROOT]# mkdir /usr/local/src/java

put unzipped java under this folder

install jdk

config java environment

[root@s132-148-87-25 lib]# vim /etc/profile

               #set java environment

               JAVA_HOME=/usr/local/src/java/jdk1.7.0_55

               CLASSPATH=.:$JAVA_HOME/lib.tools.jar

               PATH=$JAVA_HOME/bin:$PATH

               export JAVA_HOME CLASSPATH PATH

[root@s132-148-87-25 lib]# source /etc/profile

[root@localhost ~]# java -version

-bash: /usr/local/src/java/jdk1.7.0_55/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

[root@localhost ~]# yum install glibc.i686


1.4 Install Tomcat
Tomcat port

tomcat10080的端口:8005, 10080, 9009

tomcat10081的端口:8006, 10081, 9010

tomcat10082的端口:8007, 10082, 9011

tomcat10083的端口:8008, 10083, 9012

tomcat10084的端口:8009, 10084, 9013

tomcat10085的端口:8010, 10085, 9014

tomcat10086的端口:8011, 10086, 9015

tomcat10087的端口:8012, 10087, 9016

tomcat10088的端口:8013, 10088, 9017

tomcat10089的端口:8014, 10089, 9018

tomcat10090的端口:8015, 10090, 9019

tomcat10091的端口:8016, 10091, 9020


tomcat11080的端口:8205, 11080, 8309

tomcat11081的端口:8206, 11081, 8310

tomcat11082的端口:8207, 11082, 8311

tomcat11083的端口:8208, 11083, 8312

tomcat11084的端口:8209, 11084, 8313

tomcat11085的端口:8210, 11085, 8314

tomcat11086的端口:8211, 11086, 8315

tomcat11087的端口:8212, 11087, 8316

tomcat11088的端口:8213, 11088, 8317

tomcat11089的端口:8214, 11089, 8318

tomcat11090的端口:8215, 11090, 8319

tomcat11091的端口:8216, 11091, 8320


All servers are under /usr/local

[root@localhost java]# mkdir /usr/local/samemart-tomcats

[root@localhost java]# mkdir /usr/local/samemart-servers

[root@localhost ~]# mv apache-tomcat-7.0.47 /usr/local/samemart-tomcats/

[root@localhost samemart-tomcats]# mkdir tomcat10081

[root@localhost samemart-tomcats]# cd apache-tomcat-7.0.47/

[root@localhost apache-tomcat-7.0.47]# mv conf/ webapps/temp/ logs/ work/ -t ../tomcat10081/


[root@localhost samemart-tomcats]# cd tomcat10081/

[root@localhost tomcat10081]# vim conf/server.xml   //update port

root@localhost samemart-tomcats]# cp -r tomcat10081/tomcat10082/       //copy tomcat instance

[root@localhost samemart-tomcats]# vim tomcat10082/conf/server.xml   //update port


1.5 Install MySQL

//安装Mysql原包

[root@s132-148-87-25 ~]# yum localinstall mysql-community-release-el6-5.noarch.rpm

//在线安装MySQL 5.6

[root@localhost ~]# yum install mysql-community-server

//启动mysql

[root@localhost ~]# service mysqld start

//将mysql设置为开机启动

chkconfig mysqld

//给root用户设置密码

[root@localhost ~]# /usr/bin/mysqladmin -uroot password 'iHai1221'

//远程连接授权

[root@localhost mysql]# mysql -uroot -p

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'iHai1221' WITH GRANT OPTION;

mysql> show databases;

//运程连接,导入数据库

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT                  //open 3306 port

yum install iptables-services               //install iptables

service iptables save                           //save iptables

#centOS6下查看iptables

service iptables status

/etc/rc.d/init.d/iptables save           //同service iptables save

/etc/init.d/iptables status  //查看16.131的iptable (centOS中用[root@localhost ~]# iptables -L)

********

加入下面的几行,22是默认存在的;这里要把21端口也加进去,不加入会导致nginx服务启动之后访问不了主界面

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT

22端口是供ssh访问的,80,8080端口是http服务访问的,以后用到https,也需要打开443端口的访问权限。

---------------------

原文:https://blog.csdn.net/XIANZHIXIANZHIXIAN/article/details/78891657

********

systemctl status firewalld

systemctl status iptables

(开放端口,对于验证mysql的3306端口,以及solr的8080端口都有效)

iptables & firewalld

disable iptables

最后重启防火墙使配置生效

#systemctl restart iptables.service

设置防火墙开机启动

#systemctl enable iptables.service

[root@localhost ~]#service iptables stop  /永久关闭:chkconfig iptables off

[root@localhost ~]# iptables -L

程序员→软件工程师→架构师→系统分析师(技术路线)

程序员→软件工程师→项目主管Project Leader→项目经理PM→项目总监director→CIO



在CentOS6下

# filter用于一般的ip数据包过滤,包含input链、output链和forward链;

nat表的作用转发ip数据包,包含prerouting链、postrouting链和output链。

forward:通过防火墙转发数据;

input:外部访问本机应用程序;

output:本机应用程序向外部发起的访问;

prerouting:定义数据包在进入防火墙且在控制规则生效之前;

postrouting:定义数据包进入防火墙在向外转发之前。

INPUT:与想要进入我们 Linux 本机的封包有关;

#–A:参数就看成是添加一条规则

–dport:就是目标端口,当数据从外部进入服务器为目标端口

–sport:数据从服务器出去,则为数据源端口使用

–j:就是指定是 ACCEPT接收,或者 DROP 拒绝

–s:指定IP

#–p:指定协议,我们常用的tcp 协议

PREROUTING:在进行路由判断之前所要进行的规则(DNAT/REDIRECT)

mangle (破坏者)

https://blog.51cto.com/evolution/648181 实例简释iptables + l7-filter配置及使用

iptables不就是服务器上的防火墙吗

SNAT 主要是应付内部 LAN 连接到 Internet 的使用方式,如果要实现SNAT主要会用到POSTROUTING链,

DNAT 则主要用在内部主机想要架设可以让 Internet 存取的服务器啦,如果要实现主要涉及到PREROUTING链https://yq.aliyun.com/articles/483315/#

192.168.102.230 对外IP

要实现内网访问外网,那就是SNAT啦

 # iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o eth1 -j SNAT --to-source 192.168.102.230

 # iptables -t nat -L -nv --line-number

# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j DNAT --to-destination 192.168.113.80

外网用户访问http://192.168.102.230(对外公开ip)得到的是‘这里是内网站点’ 实际上访问的是192.168.113.80(内部站点或DMZ)

# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth1 -j DNAT --to-destination 192.168.113.80

要实现外网访问内网资源那就是DNAT啦 #如果访问192.168.16.141将会导到127.0.0.1

iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to-destination 127.0.0.1

CentOS开放IP及端口&移除端口

[root@localhost ~]# iptables -A INPUT -s 192.168.16.0/24 -m tcp -p tcp --dport 9004 -j ACCEPT

[root@localhost ~]# /etc/init.d/iptables status       # 查看端口状态

[root@localhost ~]# iptables -D INPUT 2         # 上面可以看到端口num编号,然后按编号删除:        



在CentOS7下

firewall-cmd --permanent --add-port=4369/tcp

firewall-cmd --zone=public --add-port=100-500/tcp --permanent

firewall-cmd --reload           //reload生效,同systemctl restart firewalld

firewall-cmd --list-ports

systemctl status firewalld

yum install firewalld

systemctl unmask firewalld #实现取消服务的锁定

systemctl enable firewalld

systemctl start firewalld



区域就是firewalld预先准备了几套防火墙策略集合

https://blog.51cto.com/andyxu/2137046  #允许192.168.16.132访问本机的9004端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.16.132" port protocol="tcp" port="9004-9008" accept"

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"

firewall-cmd --zone=public --list-rich-rules

firewall-cmd --zone=internal --list-all

[root@localhost ~]# systemctl restart firewalld  //重启生效

[root@localhost ~]# firewall-cmd --list-all


iptables 用于过滤数据包,属于网络层防火墙。

firewall 能够允许哪些服务可用,那些端口可用...属于更高一层的防火墙。

切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务。



我记得唯一的方案是:后端服务器只给前端服务器开放一些端口,这个是可以做到的;防止api的url被暴露



RabbitMQ的安装

systemctl stop firewalld

systemctl disable firewalld

hostname localhost


systemctl start rabbitmq-server        v.s.       /sbin/service rabbitmq-server start

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容