例としてAli ** [ Cloud Server **](https://cloud.tencent.com/product/cvm?from=10680)を取り上げます
1.ハードディスクをマウントします
1、 ディスクパーティション
fdisk -l#デバイスを表示します。通常、デバイス名は/ dev / xvdbまたは/ dev / vdb(Alibaba Cloud io最適化)であることがわかります。
fdisk / dev / xvdb#ディスクのパーティション、またはfdisk / dev / vdb
nと入力します#新しいパーティションを作成します
p#createプライマリパーティションを入力します
1を入力#最初のプライマリパーティションを作成します
w#を入力して保存し、上記のコマンドを実行してパーティションを作成します
上記のコマンドを実行した後、fdisk -lを使用して表示すると、次のように表示されます。
/ dev / xvdb1パーティション
またはのために
/ dev / vdb1パーティション(次の手順は似ています。xvdb1とvdb1の違いに注意してください)
パーティションは成功しています。
2、 ディスクフォーマット
mkfs.ext4 / dev / xvdb1#パーティションをフォーマットします
注:ext4はCentOS6.xのデフォルトのパーティション形式です。CentOS5.xにはext3を使用してください
mkfs.xfs / dev / vdb1またはmkfs-t xfs / dev / vdb1
フォーマットが完了したら(パーティションのサイズによって、フォーマットに必要な時間は異なります。しばらくお待ちください)、パーティションをマウントします。
3、 ディスクをマウントします
例:/ dev / xvdb1を/ dataディレクトリにマウントする
mkdir -p / data#ディレクトリを作成
マウント/ dev / xvdb1 / data #mount
mount -t ext4 / dev / xvdb1 / data #mount
mount -t xfs / dev / vdb1 / data #mount
df -h#マウント結果を表示する
vi / etc / fstab#起動時に自動マウントを設定し、最後の行に次のコードを入力します
/dev/xvdb1 /data ext4 defaults 0 0
: wq!#保存して終了
または、UUIDを使用してマウントします
blkid / dev / xvdb1#ディスクのUUIDを取得します。次に例を示します。
/dev/xvdb1: UUID=”9c991d14-9372-4fd8-97d6-2aa1ac1acf47” TYPE=”xfs“
vi / etc / fstab#起動時に自動マウントを設定し、最後の行に次のコードを入力します
UUID=9c991d14-9372-4fd8-97d6-2aa1ac1acf47 /data xfs defaults 0 0
: wq!#保存して終了
mount -a#パーティション設定をすぐに有効にする
2.SWAPパーティションを作成します
注:デフォルトでは、Alibaba Cloud Serviceにはスワップパーティションがありません。512MクラウドサーバーにPHP5.6をインストールすると、メモリが不足していることを示すプロンプトが表示され、インストールは失敗します。
メモリがいくら大きくても、スワップパーティションを増やすことを強くお勧めします。
512MのAlibabaCloudサービスで1024Mのスワップスペースを増やす
特定の操作:
1、 dd if = / dev / zero of = / home / swap bs = 1M count = 1024#1024Mファイルブロックを作成します
2、 mkswap / home / swap#スワップファイルを作成する
3、 swapon / home / swap#スワップファイルをアクティブ化する
4、 swapon -s #View swap
5、 / etc / fstabファイルを変更し、次のコンテンツを追加して、システムの起動時にシステムが自動的に起動するようにします。
vi / etc / fstab#最後に次のコードを追加します
/home/swap swap swap default 0 0
: wq!#保存して終了
システムの運用と保守www.osyunwei.comウォームリマインダー:qihang01元のコンテンツ©copyright、reprintソースと元のリンクを示してください
3.システムカーネルの最適化
1、 CentOS 5.x CentOS 6.x CentOS 7.x
vi /etc/security/limits.conf#最後の行に次のコードを追加します
soft nproc unlimited
hard nproc unlimited
soft nofile 655350
hard nofile 655350
: wq!#保存して終了
2、 CentOS 5.x CentOS 6.x CentOS 7.x
vi / etc / profile#最後の行に次のコードを追加します
ulimit -SHn 655350
ulimit -SHu unlimited
ulimit -SHd unlimited
ulimit -SHm unlimited
ulimit -SHs unlimited
ulimit -SHt unlimited
ulimit -SHv unlimited
: wq!#保存して終了
source / etc / profile#構成をすぐに有効にする
ulimit -a#View設定
3、 CentOS 6.x(CentOS5.xおよびCentOS7.xはこれを設定する必要はありません)
vi /etc/security/limits.d/90-nproc.conf#最後の行に次のコードを追加します
soft nofile 655350
hard nofile 655350
root soft nofile 655350
root hard nofile 655350
soft core unlimited
hard core unlimited
root soft core unlimited
root hard core unlimited
: wq!#保存して終了
4、 CentOS 5.x
sed -i “s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g” ‘/etc/sysctl.conf’
echo -e “net.core.somaxconn = 65535” >> /etc/sysctl.conf
echo -e “net.core.netdev_max_backlog = 262144” >> /etc/sysctl.conf
echo -e “net.core.wmem_default = 8388608” >> /etc/sysctl.conf
echo -e “net.core.rmem_default = 8388608” >> /etc/sysctl.conf
echo -e “net.core.rmem_max = 16777216” >> /etc/sysctl.conf
echo -e “net.core.wmem_max = 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.route.max_size = 5242880” >> /etc/sysctl.conf
echo -e “net.ipv4.route.gc_timeout = 20” >> /etc/sysctl.conf
echo -e “net.ipv4.ip_local_port_range = 1025 65535” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_retries2 = 5” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_fin_timeout = 30” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_syn_retries = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_synack_retries = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_timestamps = 0” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_tw_recycle = 0” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_tw_reuse = 1” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_time = 120” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_probes = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_intvl = 15” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_tw_buckets = 200000” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_orphans = 3276800” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_syn_backlog = 262144” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_wmem = 8192 131072 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_rmem = 32768 131072 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_mem = 94500000 915000000 927000000” >> /etc/sysctl.conf
echo -e “net.ipv4.ip_conntrack_max = 25000000” >> /etc/sysctl.conf
echo -e “net.ipv4.netfilter.ip_conntrack_max = 25000000” >> /etc/sysctl.conf
echo -e “net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180” >> /etc/sysctl.conf
echo -e “net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 1” >> /etc/sysctl.conf
echo -e “net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60” >> /etc/sysctl.conf
echo -e “net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120” >> /etc/sysctl.conf
echo -e “net.unix.max_dgram_qlen = 655360” >> /etc/sysctl.conf
echo -e “kernel.msgmax = 655360” >> /etc/sysctl.conf
echo -e “kernel.msgmni = 20480” >> /etc/sysctl.conf
CentOS 6.x 7.x
sed -i “s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g” ‘/etc/sysctl.conf’
echo -e “net.core.somaxconn = 65535” >> /etc/sysctl.conf
echo -e “net.core.netdev_max_backlog = 262144” >> /etc/sysctl.conf
echo -e “net.core.wmem_default = 8388608” >> /etc/sysctl.conf
echo -e “net.core.rmem_default = 8388608” >> /etc/sysctl.conf
echo -e “net.core.rmem_max = 16777216” >> /etc/sysctl.conf
echo -e “net.core.wmem_max = 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.route.max_size = 5242880” >> /etc/sysctl.conf
echo -e “net.ipv4.route.gc_timeout = 20” >> /etc/sysctl.conf
echo -e “net.ipv4.ip_local_port_range = 1025 65535” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_retries2 = 5” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_fin_timeout = 30” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_syn_retries = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_synack_retries = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_timestamps = 0” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_tw_recycle = 0” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_tw_reuse = 1” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_time = 120” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_probes = 3” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_keepalive_intvl = 15” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_tw_buckets = 200000” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_orphans = 3276800” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_max_syn_backlog = 262144” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_wmem = 8192 131072 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_rmem = 32768 131072 16777216” >> /etc/sysctl.conf
echo -e “net.ipv4.tcp_mem = 94500000 915000000 927000000” >> /etc/sysctl.conf
echo -e “net.nf_conntrack_max = 25000000” >> /etc/sysctl.conf
echo -e “net.netfilter.nf_conntrack_max = 25000000” >> /etc/sysctl.conf
echo -e “net.netfilter.nf_conntrack_tcp_timeout_established = 180” >> /etc/sysctl.conf
echo -e “net.netfilter.nf_conntrack_tcp_timeout_time_wait = 1” >> /etc/sysctl.conf
echo -e “net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60” >> /etc/sysctl.conf
echo -e “net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120” >> /etc/sysctl.conf
echo -e “net.unix.max_dgram_qlen = 655360” >> /etc/sysctl.conf
echo -e “kernel.msgmnb = 655360” >> /etc/sysctl.conf
echo -e “kernel.msgmax = 655360” >> /etc/sysctl.conf
echo -e “kernel.msgmni = 20480” >> /etc/sysctl.conf
/ sbin / sysctl -p#構成をすぐに有効にする
cat / var / log / secure#システム設定が正しいかどうかを確認します。設定が正しいことを示すエラープロンプトは表示されません
エラー:
error: “net.bridge.bridge-nf-call-ip6tables” is an unknown key
error: “net.bridge.bridge-nf-call-iptables” is an unknown key
error: “net.bridge.bridge-nf-call-arptables” is an unknown key
解決:
modprobe bridge
lsmod|grep bridge
modprobe ip_conntrack
**備考: **
CentOS5.xのモジュール名はip_conntrackです。
CentOS 6.x7.xのモジュール名はnf_conntrackです
CentOS 6.x 7.xで/etc/sysctl.confを最適化する場合、
net.ipv4.netfilter.ip_conntrack_maxこのパラメーター
net.netfilter.nf_conntrack_maxに変更します
4、システムセキュリティ設定
1、 通常のアカウントを作成する
useradd osyunwei#通常のアカウントを作成する
passwd osyunwei#プロンプトに従ってパスワードを設定します。2回入力する必要があります
2、 ルート直接ログインを無効にする
vi / etc / ssh / sshd_config #Edit
PermitRootLoginを見つけ、yesをnoに変更します
: wq!#保存して終了
3、 システムファイルをロックして、不正な削除や追加を防ぎます
chattr +ia /etc/passwd
chattr +ia /etc/shadow
chattr +ia /etc/group
chattr +ia /etc/gshadow
chattr +ia /etc/services
lsattr / etc / passwd / etc / shadow / etc / group / etc / gshadow / etc / services#ファイルの属性を表示します
注:上記の権限変更を行った後は、ユーザーを追加または削除することはできません。
ユーザーを追加または削除する場合は、最初に上記の設定をキャンセルし、ユーザーの追加と削除後に上記の操作を実行する必要があります。
chattr -ia /etc/passwd
chattr -ia /etc/shadow
chattr -ia /etc/group
chattr -ia /etc/gshadow
chattr -ia /etc/services
4、 ファイアウォールをオンにします
yum install iptables#installファイアウォールyuminstallwget最初にダウンロードツールをインストールします
#Setブートアップのchkconfigiptables
vi / etc / sysconfig / iptables#編集、次のコードを追加
: INPUT ACCEPT [0:0]
: FORWARD ACCEPT [0:0]
: OUTPUT ACCEPT [0:0]
A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
A INPUT -p icmp -j ACCEPT
A INPUT -i lo -j ACCEPT
A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
A INPUT -s 192.168.1.1/24 -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
A INPUT -j REJECT –reject-with icmp-host-prohibited
A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
service iptables start#ファイアウォールを開始します
備考:-s 192.168.1.1/24は、このipセグメントのみがポート3306にアクセスできることを意味し、必要に応じて変更できます。
5、 SELINUXを閉じる
vi /etc/selinux/config
SELINUX =無効#increase
: wq!#保存して終了
setenforce 0#構成をすぐに有効にする
6、 sshのデフォルトポートを変更する
sshのデフォルトのリモート接続ポート22を222に変更します
vi /etc/ssh/sshd_config
ポート#ポート22の下にポート222を追加します
: wq!#保存して終了
vi /etc/ssh/ssh_config
ポート#ポート22の下にポート222を追加します
: wq!#保存して終了
/etc/init.d/sshd restart #sshdサービスを再起動します
vi / etc / sysconfig / iptables #Edit
ポート22を222に変更します
: wq!#保存して終了
service iptables restart#ファイアウォールを再起動して、構成を有効にします
7、 一時ディレクトリ/ tmp、/ var / tmp、/ dev / shmセキュリティ強化
7.1、 / tmpディレクトリ
7.1.1、 / tmpが独立したパーティションである場合は、/ tmpに対応するマウント属性を変更し、nosuid、noexec、nodevオプションを追加します。
vi / etc / fstab#編集および変更
LABEL=/tmp /tmp ext3 rw,nosuid,noexec,nodev 0 0
: wq!#保存して終了
パラメータの説明:
nosuid、noexec、nodev:suidプログラムなし、スクリプト実行なし、デバイスファイルなし
mount -o remount /tmp
mount -a#パーティションを再マウントします
7.1.2、 / tmpがルートディレクトリの下のディレクトリである場合、/ tmpをマウントするためのループバックファイルシステムを構築できます。
dd if=/dev/zero of=/mnt/tmpfs bs=1M count=5120
mke2fs -j /mnt/tmpfs
cp -ap /tmp /tmp.old
mount -o loop,noexec,nosuid,rw /mnt/tmpfs /tmp
chmod 1777 /tmp
mv -f /tmp.old/* /tmp/
rm -rf /tmp.old
vi / etc / fstab#編集および変更
/mnt/tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0
: wq!#保存して終了
mount -o remount /tmp
mount -a#パーティションを再マウントします
7.2、 / var / tmpディレクトリ
7.2.1、 / var / tmpが独立したパーティションである場合は、/ var / tmpに対応するマウント属性を変更し、nosuid、noexec、nodevオプションを追加します。
vi / etc / fstab#編集および変更
LABEL=/var/tmp /var/tmp ext3 rw,nosuid,noexec,nodev 0 0
: wq!#保存して終了
7.2.2、 / var / tmpが/ varパーティションの下のディレクトリである場合は、/ var / tmpディレクトリ内のデータを/ tmpパーティションに移動し、/ varの下の/ tmpへのソフトリンクを作成します。
cp -ap /var/tmp/* /tmp/
rm -rf /var/tmp
ln -sf /tmp /var/tmp
7.3、 / dev / shmディレクトリ
/ dev / shmのマウント属性を変更します
vi / etc / fstab#編集および変更
tmpfs /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0
: wq!#保存して終了
mount -o remount /dev/shm
mount -a#パーティションを再マウントします
5、ホスト名を変更します
ここでホスト名を設定します:www.osyunwei.com
1、 hostname“ www.osyunwei.com”#ホスト名をwww.osyunwei.comに設定します
2、
vi / etc / sysconfig / network#構成ファイルを編集するCentOS 5.x CentOS 6.x
HOSTNAME = www.osyunwei.com#localhost.localdomainをwww.osyunwei.comに変更します
: wq!#保存して終了
vi / etc / hostname#構成ファイルの編集CentOS 7.x
www.osyunwei.com#localhost.localdomainをwww.osyunwei.comに変更します
: wq!#保存して終了
3、 vi / etc / hosts#設定ファイルの編集
127.0.0.1 www.osyunwei.com localhost#localhost.localdomainをwww.osyunwei.comに変更します
: wq!#保存して終了
6.システム時間を同期します
yum install -y ntp #install ntp
ntpdate time1.aliyun.com#時間同期の実行
hwclock --systohc#システムクロックとハードウェアクロックの同期
CentOS 5.x
echo -e "0 0 * * * / sbin / ntpdate time1.aliyun.com&> / dev / null" >> / var / pool / cron / root#スケジュールされたタスクを追加します
CentOS 6.x 7.x
echo -e "0 0 * * * / usr / sbin / ntpdate time1.aliyun.com&> / dev / null" >> / var / pool / cron / root#スケジュールされたタスクを追加します
service crond restart#サービスを再起動します
セブン、基本的なソフトウェアパッケージをインストールします
yum install -y apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext
gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool*
libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* libxml* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet
t1lib t1lib* nasm nasm* wget zlib-devel
**この時点で、CentOSサーバーの初期化設定は完了です。 ****
Recommended Posts