写在前面
正常每个公司都会有很多台服务器, 但是每个服务器中各种文件的配置,都不项目, 这样会对开发, 运维人员造成很大的困扰, 本文为是为了解决出现的这种情况的
拿到服务器前:
刚拿到服务器前, 务必需要先想一下服务器需要什么样的配置, 以及需要配置什么样的系统环境以
拿到服务器后:
一:
1.1 修改主机名称
修改主机名称的规范如下:
之所有我们修改主机名, 是方便我们可以快速的查询出我们服务器是什么样的环境(如: 开发, 测试)和这个服务器对应的编号
举例: csdnDev001 (csdn下需要为001的开发服务器)
csdn: 代表公司名称缩写
Dev: 代表开发服务器,
PS: 正常我们有4个环境,
如:
Dev: 代表开发环境
Test: 代表测试环境
Pre: 代表灰度发布服务器(很多人也叫预发布环境)
Prod: 代表正式服务器
001: 代表需要为001的开发服务器
1.1.1 临时修改主机名称配置步骤如下:
使用命令行修改 “hostname 主机名”,重新登录 SHELL 生效,服务器重启后失效。
hostname csdnDev001
1.1.2 永久修改主机名称配置步骤如下
针对于: centOS 7以上的linux系统(包含7)
使用命令" hostnamectl set-hostname 主机名 "来修改,修改完毕后重新 SHELL 登录即可。
# 注1:该操作只针对于: CentOS7, 以及以上版本生效
# 注2:此时修改的主机名称, 系统会自动更改为全小写的
hostnamectl set-hostname csdnDev001
1.1.3 永久主机名区别大小写
vim /etc/hostname
hostname中内容如下:
csdnDev001
查看是否设置成功
[root@csdnDev001 ~]# hostnamectl
Static hostname: csdnDev001
Icon name: computer-vm
Chassis: vm
Machine ID: f0f31005fb5a436d88e3c6cbf54e25aa
Boot ID: e69a6450a54c468f886c8cc90d86f851
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.2.2.el7.x86_64
Architecture: x86-64
2.配置iptables防火墙
在centOS 7 以上的系统中默认使用的是firewall,centOS 7以下的系统使用的是iptables firewall和iptables的区别:firewall是centos7里面的新的防火墙命令,它底层还是使用 iptables 对内核命令动态通信包过滤的,简单理解就是firewall是centos7下管理iptables的新命令
1.先检查是否安装了iptables
service iptables status
2.安装iptables
yum install -y iptables
3.升级iptables
yum update iptables
4.安装iptables-services
yum install iptables-services
禁用/停止自带的firewalld服务 (CentOS 7 以上的系统)
停止firewalld服务
systemctl stop firewalld
禁用firewalld服务
systemctl mask firewalld
(1)设置现有规则
#查看iptables现有规则
iptables -L -n
#先允许所有,不然有可能会杯具
iptables -P INPUT ACCEPT
#清空所有默认规则
iptables -F
#清空所有自定义规则
iptables -X
#所有计数器归0
iptables -Z
#允许来自于lo接口的数据包(本地访问)
iptables -A INPUT -i lo -j ACCEPT
#开放22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开放21端口(FTP)
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开放80端口(HTTP)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开放443端口(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
#允许接受本机请求之后的返回数据 RELATED,是为FTP设置的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#其他入站一律丢弃
iptables -P INPUT DROP
#所有出站一律绿灯
iptables -P OUTPUT ACCEPT
#所有转发一律丢弃
iptables -P FORWARD DROP
(2)其他规则设定(选用)
#如果要添加内网ip信任(接受其所有TCP请求)
iptables -A INPUT -p tcp -s (你的IP) -j ACCEPT
#过滤所有非以上规则的请求
iptables -P INPUT DROP
#要封停一个IP,使用下面这条命令:
iptables -I INPUT -s ***.***.***.*** -j DROP
#要解封一个IP,使用下面这条命令:
iptables -D INPUT -s ***.***.***.*** -j DROP
(3)保存规则设定
#保存上述规则
service iptables save
(4)开启iptables服务
#注册iptables服务,相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service
(5)以下为完整设置脚本(选看)
#!/bin/sh
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
service iptables save
systemctl restart iptables.service
(6)iptables添加或者删除端口
#直接修改文件
vim /etc/sysconfig/iptables
#重启防火墙
systemctl restart iptables.service
安装jdk
手动解压JDK的压缩包,然后设置环境变量
在/usr/local目录下创建一个软件存放目录 software
注:
所有的下载软件的存放目录均为: /usr/local/software 只允许下载到此目录下 这个是文件存放目录规范
mkdir /usr/local/software
cd /usr/local/software
两种安装方式
方式一(已废除):
直接通过wget下载:
wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
方式二:
直接到到官网下载需要的jdk包:
下载成功后将jdk文件上传到刚刚创建的目录 /usr/local/software Oracle中下载JDK的链接
解压刚才上传成功的tar包
tar -zxvf /usr/local/software/jdk-8u191-linux-x64.tar.gz -C /usr/local/
# 如: 通过jdk指向到 jdk1.8.0_191 我们在环境变量中配置JAVA_HOME时, 只能使用软链接的地址
ln -s /usr/local/jdk1.8.0_191/ /usr/local/jdk #注意: 此处的jdk1.8.0_191应改为你安装的路径
# 配置后软链接如下:
lrwxrwxrwx 1 root root 24 Jan 7 16:50 jdk -> /usr/local/jdk1.8.0_191/
drwxr-xr-x 8 10 143 4096 Jan 7 16:50 jdk1.8.0_191
注意:
所有安装软件应尊守以下规范:
0.所有的软件全部保存到/usr/local/software下, 不可轻易删除,以及要做软件的备份, 可以给其他服务器使用, 当然, 可以把某个服务器专门用来当一个景象服务器使用, 这个我们先不介绍
1.为保证所有的安装文件都在同一个目录下, 方便查看, 安装软件禁止使用tar外的安装方式
2.所有的安装软件必须放到/usr/local下
3.所有的安装软件应保留安装软件的版本号
4.为了便捷操作, 指向,以及软件的升级, 所有文件路径应该用ln -s 指向一个短路径
设置环境变量
vim /etc/profile
#将下列的命令复制到profile文件中
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
使环境变量生效
source /etc/profile
检查安装是否成功
java -version
安装tomcat
进入之前的软件安装目录/usr/local/software
cd /usr/local/software
安装方式一:
使用wget命令下载tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apache-tomcat-8.5.24.tar.gz
注: Apache Tomcat 8.5.x 旨在取代 8.0.x,并包含从 9.0.x 分支中提取的新特性能。
安装方式二:
直接在官网上下载, 安装到/usr/local/software
Tomcat8的下载页面
Tomcat官网
注: 以下内容为iptable防火墙的配置信息
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#重启防火墙使配置生效
#systemctl restart iptables.service
#设置防火墙开机启动
#systemctl enable iptables.service
#------------------------Nginx端口-------------------------------
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
# https默认端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
# CMS后台管理系统
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8201 -j ACCEPT
# 店铺前台页面
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8203 -j ACCEPT
# ---------------------数据库开放接口--------------------------
# mysql防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3501 -j ACCEPT
# ----------------------Redis开放接口--------------------------
# 开发Redis单节点
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3300 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13300 -j ACCEPT
# 开发Redis集群Node1端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3301 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13301 -j ACCEPT
# 开发Redis集群Node2端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3302 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13302 -j ACCEPT
# 开发Redis集群Node3端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3303 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13303 -j ACCEPT
# 开发Redis集群Node4端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3304 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13304 -j ACCEPT
# 开发Redis集群Node5端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3305 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13305 -j ACCEPT
# 开发Redis集群Node6端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 13306 -j ACCEPT
# ----------------------Tomcat开放接口--------------------------
# 测试Tomcat服务器
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30080 -j ACCEPT
# dubbo-tomcat端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 31080 -j ACCEPT
# ----------------------Zookeeper开放接口--------------------------
# Zookeeper集群节点1
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3210 -j ACCEPT
# Zookeeper集群节点2
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3220 -j ACCEPT
# Zookeeper集群节点3
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3230 -j ACCEPT
# ----------------------Apache 开放接口--------------------------
# SVN Apache开放端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3400 -j ACCEPT
#nuxt 项目启动端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3401 -j ACCEPT
# - --------------------拒绝接口-------------------
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
未完待续…