一般生产环境LINUX服务器配置

1.生产环境LINUX服务器系统版本的选择

选择CentOS6.5版本64位的LINUX操作系统

CentOS (Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于红帽的Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此和红帽商业版的RHEL系统用着同样的高度稳定性。两者的不同,在于CentOS并不包含红帽的商业支持和一些RHEL商业版隐藏的功能。CentOS是完全开源和免费的,企业可以在生产环境上自由部署

2.一般服务器的初始磁盘分区

1)/boot引导分区,存放引导文件和内核等。分区大小设定200M。

一般正式环境下,linux引导文件及内核全部大小在100M以内。

2)swap交换分区,作为虚拟内存使用,用于当物理内存不足时,调用硬盘的一部分当内存使用。使用虚拟内存,会保障服务器在内存不足的时候不会宕机。

一般生产环境服务器内存较大,交换分区大小与内存相同即可

3)/分区根分区,将分完/boot和swap分区剩下的空间都分给/分区

3.数据库服务器的初始磁盘分区

1)/boot引导分区,分区大小设定200M

2)swap交换分区,交换分区大小与内存相同

3)逻辑卷建立LVM逻辑卷,将逻辑卷挂载到相应的文件路径,后期可以轻松扩充或减小文件系统的大小

4)/分区根分区使用逻辑卷, 数据库服务器的根分区主要存放系统相关文件、日志、用户信息等,由于不用存放数据文件,并且可以通过逻辑卷随意扩充,大小满足系统运行需要即可。lv大小设定200G

5)数据分区为数据库软件和数据库文件单独划分一个逻辑卷分区,以保证数据的独立性和安全性,如果linux操作系统崩溃,可以格式化/boot分区和根分区重新安装系统,而保留数据分区下的数据库软件和数据文件。将所有剩余的卷组空间都分配给数据分区的逻辑卷,Mysql数据库一般将数据分区挂载在/usr/local,Oracle数据库一般将数据分区挂载在/u02上

4.多网卡绑定bond配置

生产环境多块物理网卡,需要用bond绑定为一块虚拟网卡对外提供服务,配置一个ip,可以实现网卡的负载均衡和高可用性,规划生产环境用两块网卡eth0、eth1绑定为bond0

1)虚拟网卡bond0配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.10.93

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

2)物理网卡eth0配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

3)物理网卡eth1配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

4)修改modprobe相关设定文件,并加载bonding模块

vim /etc/modprobe.d/bonding.conf

alias bond0 bonding

options bond mode=0 miimon=100

mode模式:0提供负载均衡和高可用,按顺序轮流把包发给绑定在在bond口内的网卡

1主备策略,提供高可用性,逻辑简单,同时只有一个网卡处于激活状态,一个失败,另外一个自动激活

miimon:监视网络链接的频度,单位是毫秒

5)加载模块(或重启)

modprobe bonding

6)查看模块加载情况

lsmod | grep bonding

7)重启网络

service network restart

8)确认绑定情况

cat /proc/net/bonding/bond0

ifconfig

5.关闭本地防火墙

iptables -F

iptables –L

service iptables save

6.关闭NetworkManager服务

service NetworkManager stop

chkconfig NetworkManager off

7.账户安全权限配置

1)禁用root以外的超级用户

cat /etc/passwd | awk -F ‘:‘ ‘{print $1,$3}‘ | grep ‘ 0$‘ 检测其他超级用户

passwd -l username锁定用户

2)删除不必要的账号

awk -F : ‘{print $1}‘ /etc/passwd | grep -E ‘adm|lp|sync|shutdown|halt|news|uucp|operator|games|gopher‘

userdel username

3)删除不必要的组

awk -F : ‘{ print $1 }‘ /etc/group | grep -E ‘adm|lp|news|uucp|games|dip|pppusers|popusers|slipusers‘

groupdel groupname

4)设置root用户口令

passwd

5)检查空口令账号,如发现则设置口令

awk -F: ‘($2 == "") { print $1 }‘ /etc/shadow

passwd username

6)口令文件加锁

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

当需要改密码的时候,要先解锁shadow文件:

chattr –i /etc/shadow

7)设置root账户自动注销时限

vim /etc/profile

在"HISTFILESIZE="后面加入下面

TMOUT=300

8)限制普通用户通过su切换为root用户

vim /etc/pam.d/su

auth required pam_wheel.so use_uid

如果需要用户可以su成为root,要将其加入wheel组

usermod -G 10 username

9)限制普通用户无法执行关机、重启、配置网络等敏感操作

rm -rf /etc/security/console.apps/*

10)禁用Ctrl+Alt+Delete组合键重新启动机器命令

vim /etc/inittab

#ca::ctrlaltdel:/sbin/shutdown-t3-rnow

11)设置开机启动项权限

chmod –R 700 /etc/rc.d/init.d/

12)避免login时显示系统和版本信息

rm -rf /etc/issue

rm -rf /etc/issue.net

13)删除多余登录终端

vim /etc/securetty

tty1

#tty2

#tty3

#tty4

时间: 2024-10-07 07:07:28

一般生产环境LINUX服务器配置的相关文章

生产环境Linux二进制安装配置MySQL

生产环境Linux二进制安装配置MySQL 一.环境检查rpm -qa |grep libaio #如果没有安装libaio则需要安装.df -hmount /dev/sr0 /mnt二.安装过程1)上传安装程序通过FTP/SFTP上传安装包2)创建创用户,组,创建目录groupadd mysqluseradd -r -g mysql -s /bin/false mysqlmkdir -p /mysql/data/3306/data这里的3306是MySQL默认端口号,/mysql/data目录

生产环境Linux安装

大多公司在部署服务时,因为Windows上服务过多,内存,CPU占用过高时,服务会出现假死,或者挂掉等情况,因此,没有特殊情况,首选都是在Linux上部署服务,下面将以VM演示生产环境Linux的安装. 首先,通过VMware创建虚拟机,若是第一次或者新手刚玩VM虚拟机,可以找找别的教程学学怎么创建虚拟机,这里直接演示Linux安装. 开启虚拟机后,进入安装界面,此时如图有两个选择: 第一个选项是直接安装,第二个是检查验证Linux完整性再进行安装,耗时会很久,所以通常选择第一个选项进行安装,接

生产环境linux服务器系统安全配置

第一章  账户安全及权限 一.  禁用root以外的超级用户 1.  检测方法: cat /etc/passwd   查看口令文件,文件格式如下 login_name:password:user_ID:group_ID:comment:home_dir:command 若user_ID=0,则该用户拥有超级用户的权限.查看此处是否有多个ID=0 2.  检测命令: cat /etc/passwd | awk -F ':' '{print$1,$3}' | grep ' 0$' 3.  备份方法:

【生产环境部署】部署项目到生产环境Linux下

以前自己写过一个开源的项目,没部署到线上环境,借此机会熟悉下线上部署的流程 1.Linux上安装数据库MySQL,创建一个数据库database 名 Mxonline 2.使用远程工具 Navicat Premium 登录Linux数据库上,并把本地已经跑好的数据库表同步传输到 Mxonline上 3.数据库传输好后,在Linux上搭建Python的虚拟环境 在Linux系统的opt目录创建Python虚拟环境,一般虚拟环境创建在opt目录不然会有权限问题 再将 本地开发的项目project 文

为laravel5.1生产环境linux从源代码安装PHP

laravel5.1正式发布,该版本号称是第一个LTS的版本,它对环境的要求也比较高,至少要PHP5.59以上. 现在网上找了很久,只能自己从头安装新版本的PHP yum install libmcrypt libmcrypt-devel   注意需要安装这些lib wget http://cn2.php.net/get/php-5.6.10.tar.bz2/from/this/mirror 获取PHP代码 tar xvfj PHP5.6.tar.bz2 cd ext/mcrypt 到mcryp

linux生产环境精华优化实战配置(亲测)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 编写人:陈飞 邮箱:[email protected] +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ CentOS系统安装之后并不能立即投入生产环境使用,往往需要先经过我们运维人员的优化才行.在此讲解几

Linux Shell脚本生产环境下安全地删除文件

脚本编写背景 无论是生产环境.测试环境还是开发环境,经常需要使用rm命令删除&批量一些"重要"目录下的文件.按照Linux的哲学"小即是美"(一个程序只做一件事)+"用户清楚自己做什么"(用户知道自己想要什么,也明白自己在做什么,并且会为自己的行为负责),那么用户在执行rm时,一定要知道自己的操作可能引起的后果,因此"三思而后行"真的很重要.但这对于一部分人来讲,真的可能是灾难性的,手抖.手贱和任何错误的操作(在路径分

Linux运维一:生产环境CentOS6.6系统的安装

CentOS 6.6 x86_64官方正式版系统(64位)下载地址 系统之家:http://www.xitongzhijia.net/linux/201412/33603.html 百度网盘:http://pan.baidu.com/s/1i5HSsnz 本博客大部分文章如无特别说明都是基于该系统之上的! Linux系统磁盘分区知识简介 1)磁盘在使用前一般要先分区 2)磁盘分区有主分区,扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分区替换,在这个扩展

.Net Core Linux centos7行—发布程序到生产环境

实验demo现在需要发布到生产环境,发现在发布的时候要考虑到不一致的几个地方. 1.各类配置文件线下,线上不一致. 2.绑定的url不一致,可能是域名不一致,也可能是schema不一致(http,https) ? ? 配置文件的不一致问题,可以使用环境配置来解决.系统默认定义了3个:Development, Staging, Production appsettings.json 开发:appsettings.Development.json 线上:appsettings.Production.