Linux系统集群架构线上项目配置实战(一)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

项目整体介绍

**整个项目包括以下几个应用工程**
1、  用户APP
2、  商家APP
3、  业务平台管理后台
4、  商家业务管理后台
5、  官网
**整体项目规划设计如下**
1、  用户APP采用JAVA环境布署,初始环境两台服务器,实现负载均衡与高可用,前端负载使用nginx 做负载
2、  商家APP采用JAVA环境布署,初始环境两台服务器,实现负载均衡与高可用,前端负载使用nginx 做负载
3、  业务平台管理后台采用JAVA环境布署,初始环境一台服务器,前端使用nginx 反向代理,后续业务流量扩大,架构重新扩展
4、  商家平台管理后台采用JAVA环境布署,初始环境一台服务器,前端使用nginx 反向代理,后续业务流量扩大,架构重新扩展
5、  官方网站都是一些静态页面,采用nginx布署,WEB服务另安装FTP服务器,做为业务管理后台一些静态资源的上传
6、  数据库使用Mysql主从复制架构,程序上实现读写分享,从库开启binlog做备份使用
7、  全网所有备份数据全部同步到专业内网备份服务器,所有业务备份数据保留30天
8、  全网所有服务器监控(基本监控与服务监控)都采用zabbix监控

服务器IP地址规划如下
Linux系统集群架构线上项目配置实战(一)

服务器环境与应用软件版本介绍

服务器环境
[root@centos ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@centos ~]# uname -r
2.6.32-642.el6.x86_64

应用软件版本

Nginx 1.12.1 
Mysql 5.7.17 
Jdk 1.8
Tomcat 8.5.9 
Zabbix 3.0
Yum 源使用163、阿里去、sohu国内的源都可以,自行选择
Redis 4.0.1

服务器逻辑架构图
Linux系统集群架构线上项目配置实战(一)

服务器基础环境配置
因使用云主机服务器,初始系统安装就略过了,如果需要批量安装的请参考前面的文章

配置国内YUM源,以163为例

[root@centos ~]# cd /etc/yum.repos.d/
[root@centos yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
[root@centos yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
[root@centos yum.repos.d]# mv CentOS6-Base-163.repo CentOS-Base.repo

Linux系统集群架构线上项目配置实战(一)

安装需要的软件包

[root@centos ~]# yum install lsof vim telnet dos2unix lrzsz tree –y

关闭不需要启动的服务

[root@centos ~]#for service in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $service off;done
[root@centos ~]#for service in crond network sshd rsyslog;do chkconfig --level 3 $service on;done
[root@centos ~]# chkconfig --list|grep 3:on

Linux系统集群架构线上项目配置实战(一)

修改SSH服务的默认配置

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sed -i 's%#Port 22%Port 2233%g'  /etc/ssh/sshd_config
sed -i 's%#PermitRootLogin yes%PermitRootLogin no%g'  /etc/ssh/sshd_config
sed -i 's%#PermitEmptyPasswors no%PermitEmptyPasswors no%g'  /etc/ssh/sshd_config
sed -i 's%#UseDNS yes%UseDNS no%g'  /etc/ssh/sshd_config
egrep "UseDNS|2233|RootLogin|EmptyPass"  /etc/ssh/sshd_config
/etc/init.d/sshd reload

关闭selinux

配置文件/etc/selinux/config
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
egrep "SELINUX=" /etc/selinux/config

关闭防火墙
如果不是对外网的服务器,直接关闭防火墙,有外网地址的可建议开启,并允许相关的服务端口,并发高的服务器也不需要开启防火墙,可能会影响性能

/etc/invited/pintables stop
/etc/invited/pintables status
pintables: Firewall is not running.

锁定系统关键文件

for file in /etc/passed /etc/shadow /etc/services /etc/initial /etc/rc.local
do
   chattr +i $file
done

配置普通操作用户及sudo权限
具体操作请参考公众号相关文章介绍

配置全网服务器时间同步

/usr/sbin/ntpdate time.windows.com
cat>>/var/spool/cron/root<<EOF
#this cron is for ntpdate 
*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1
#cron config end 
EOF

配置全网服务器hosts文件

Cat>>/etc/hosts<<EOF
10.0.0.1      nginx-lb      
10.0.0.2      nginx-proxy       
10.0.0.3      nginx     
10.0.0.4      userapp       
10.0.0.5      sjapp     
10.0.0.6      admin     
10.0.0.7      shangjia      
10.0.0.8      web       
10.0.0.9      mysql-m       
10.0.0.10     mysql-s       
10.0.0.11     ftp-backup        
10.0.0.12     redis     
10.0.0.13     backup-server     
10.0.0.14     zabbix        
EOF

规范所有服务器目录

[root@centos ~]# mkdir /download/tools/ -p
[root@centos ~]# mkdir /app/logs -p
[root@centos ~]# mkdir /app -p
[root@centos ~]# mkdir /server/{scripts,backup} –p

至此基本的服务器优化配置也就结束了,接下来就是安装各类服务



本文转自 民工哥 51CTO博客,原文链接:http://blog.51cto.com/mingongge/2056979

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
22天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
61 3
|
22天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
56 2
|
16天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
15 3
|
22天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
59 3
|
25天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
41 6
|
25天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
61 6
|
25天前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
【赵渝强老师】Memcached集群的架构
|
21天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
125 6
|
1月前
|
缓存 监控 Linux