RHEL 7のリリースから5年後、Red Hat Enterprise Linux 8が正式にリリースされました。5年前にレンガを動かしたと感じなければなりませんが、それでも動き続けています。 。 。
Red Hat Enterprise Linux 8.0は、Fedora 28とアップストリームLinuxカーネルバージョン4.18に基づいており、ハイブリッドクラウドとデータセンター全体に展開するための安全で安定した一貫した基盤と、すべてのレベルのワークロードをサポートするために必要なツールをユーザーに提供します。
RHEL 8で提供されるYUMバージョンはv4であり、DNFのYUMとRHEL7で使用されていた以前のYUMv3に基づいています。
RHEL 8のデフォルトのソフトウェアコンポーネント(一部のソフトウェア)
Python 3.6
MariaDB 10.3、MySQL 8.0、PostgreSQL 10;
PHP 7.2
httpd 2.4、Nginx 1.14
Redis 4.0
Centos8.1システムのインストール
Install CentOS Linux 8
言語英語
ハードディスク構成
タイムゾーン
最小限のインストール
ルートパスワード
Reboot
DNF
CentOS 8では、DNFテクノロジー(YUM v4)に基づくYUMツールが使用されます。 CentOS 8は、ソフトウェアソースを次の2つの部分に分割します。
DNFの使用
# システムで利用可能なDNFソフトウェアライブラリを表示する
dnf repolist
# システムで利用可能なおよび利用できないすべてのDNFソフトウェアライブラリを表示する
dnf repolist all
# すべてのRPMパッケージを一覧表示します
dnf list
dnf list |grep nginx
# インストールされているすべてのRPMパッケージを一覧表示します
dnf list installed
# インストール可能なすべてのRPMパッケージを一覧表示します
dnf list available
# ソフトウェアライブラリでRPMパッケージを検索する
dnf search nginx
# ファイルのプロバイダーを探す
dnf provides snmpwalk
# パッケージの詳細を表示
dnf info nginx
# パッケージをインストールする
dnf install nginx
# パッケージを削除します
dnf remove nginx
# 不要な孤立したパッケージを削除する
dnf autoremove
# キャッシュされた役に立たないパッケージを削除する
dnf clean all
# 特定のコマンドに関するヘルプを取得する
dnf help clean
# DNFコマンドの実行履歴を表示する
dnf history
# すべてのパッケージグループを表示
dnf grouplist
# 特定のパッケージリポジトリから特定のソフトウェアをインストールする
dnf -enablerepo=epel install nginx
# 特定のパッケージを再インストールします
dnf reinstall nginx
Network
CentOS 8はnetwork.serviceを放棄し、NetworkManager(NM)を使用してネットワークカードサービスを管理します。
ifcfgを手動で構成し、nmcliを使用して新しいネットワーク構成を有効にします
[ root@Ntp-Server network-scripts]# pwd
/etc/sysconfig/network-scripts
[ root@Ntp-Server network-scripts]# ls
ifcfg-ens192 ifcfg-ens224
# ネットワークカードを再起動します
nmcli connection reload
nmcli connection up ens192
nmcliを使用してネットワークを管理します
nmcli操作
# ネットワークカードデバイス情報を表示する
nmcli
# ネットワークカードデバイスの詳細を表示する
nmcli device show / nmcli device show ens33
# ネットワークカードデバイスのステータスを表示する
nmcli device status
# ネットワークカードの特定の情報を表示する
nmcli connection show / nmcli connection show ens33
# アクティブな接続をすべて表示
nmcli connection show --active
# up/ダウンネットワークカード
nmcli connection up ens33
nmcli connection down ens33
# ネットワークカードを再起動します
nmcli connection reload
# DNS構成
vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
ネットワークカード接続を追加する
注:構成ファイルディレクトリ:/ etc / sysconfig / network-scripts / *構成を追加すると、ネットワークカード構成ファイルens224が自動的に生成されます。
# ens224ネットワークカードを追加します
nmcli connection add type ethernet con-name ens224 ifname ens224
ネットワークカード接続を削除する
nmcli connection delete ens224
ネットワークカードを変更する
注:変更は、/ etc / sysconfig / network-scripts /の下にあるネットワークカード構成ファイルです。
# セルフスタートネットワークカード(ONBOOT)に設定=yes)
nmcli connection modify ens224 connection.autoconnect yes
# IPアドレスの取得方法を手動またはDHCPに設定します,マニュアル(BOOTPROTO=none)
nmcli connection modify ens224 ipv4.method manual ipv4.addresses 192.168.123.206/24
# dhcp(BOOTPROTO=dhcp)
nmcli connection modify ens224 ipv4.method auto
# IPアドレスの変更(IPADDR=192.168.123.206 PREFIX=24)
nmcli connection modify ens224 ipv4.addresses 192.168.123.206/24
# ゲートウェイを変更します(GATEWAY=192.168.123.1)
nmcli connection modify ens224 ipv4.gateway 192.168.123.1
# 2番目のIPアドレス(IPADDR1=172.16.10.10 PREFIX1=24)
nmcli connection modify ens224 +ipv4.addresses 192.168.123.207/24
# DNSを追加します(DNS1=192.168.1.19)
nmcli connection modify ens224 ipv4.dns 192.168.1.19
# 2番目のDNSを追加します(DNS2=8.8.8.8)
nmcli connection modify ens224 +ipv4.dns 8.8.8.8
# 2番目のDNSを削除します
nmcli connection modify ens224 -ipv4.dns 8.8.8.8
nmtuiツール(グラフィカルツール)を使用してネットワークを構成します
nmtui
システムの最適化
selinuxを閉じる
# selinuxを閉じる
sed -i '/SELINUX/s/enforcing/disabled/'/etc/selinux/config
システムソフトウェアパッケージ
dnf install sysstat traceroute net-tools telnet tree net-snmp-utils vim lrzsz tcpdump wget git
**解凍コマンドtar、zip **
############ tar############
# optという名前の圧縮されたmntディレクトリ.tar1.gz
tar -zcPf opt.tar1.gz /mnt
# 解凍オプション.tar1.gzファイル
tar -zxvf opt.tar1.gz
# 解凍オプション.tar1.gzファイルから/data/内容の下
tar -zxvf opt.tar1.gz -C /data/
############ zip############
# 圧縮/mnt/data/名前付きデータ.zip
zip -r data.zip /mnt/data/
# unzip data.zip to/optディレクトリ
unzip data.zip -d /opt/
** Cockpit**
Cockpitは、CentOSおよびRHELシステムで使用できるWebベースのサーバー管理ツールです。 Cockpitは、CentOS8のデフォルトのサーバー管理ツールです。そのパッケージは、デフォルトのCentOS8およびRHEL8リポジトリで利用できます。 Cockpitは、システム管理者がLinuxサーバーを監視および管理できる便利なWebベースのGUIツールです。また、サーバー、コンテナー、仮想マシンのネットワークとストレージを管理したり、システムとアプリケーションのログを確認したりするためにも使用できます。
クックピットの設置と構成
# dnfインストールコックピット
dnf install cockpit -y
# コックピットを開始して開始.socket
systemctl start cockpit.socket && systemctl enable cockpit.socket
# リスニングポートを表示
netstat -auntlp |grep 9090
ps -ef |grep cockpit.socket
# ファイアウォール
firewall-cmd --permanent --add-service=cockpit
firewall-cmd --reload
# ディスク管理プラグイン
yum install -y cockpit-storaged
# マルチホスト管理プラグイン
yum install -y cockpit-dashboard
Webブラウザーで、URLを入力します:https://
クロニークロックサーバー
Chronyは、CentOS 8で時刻を同期するためのオープンソースの無料ソフトウェアです。システムクロックをクロックサーバー(NTP)と同期させて、時刻を正確に保つことができます。これはntpプロトコルの実装プログラムであり、サーバーまたはクライアントとして使用できます。断続的なインターネット接続を備えたシステム用に設計されています。もちろん、永続的なインターネット接続環境でも使用できます。chronyには3つの時間参照があります。ハードウェアクロック、リアルタイムクロック、および手動同期。
これは、chronydとchronycの2つのプログラムで構成されています。
Chronydはバックグラウンドで実行されるデーモンであり、カーネルで実行されているシステムクロックを調整して、クロックサーバーと同期するために使用されます。これは、コンピューターが時間を増減する速度を決定し、それを補正します。
クロニープログラム構成
# パッケージインストールディレクトリのファイル情報を照会します
rpm -ql chrony
主な構成ファイル:/etc/chrony.conf
クライアントプログラム:/usr/bin/chronyc
サーバープログラム:/usr/sbin/chronyd
推奨される中国NTPパブリックタイム同期サーバー
国-中央の画像:cn.pool.ntp.org
中国:cn.ntp.org.cn
アリババクラウド:ntp.aliyun.com
Tencent Cloud:time1.cloud.tencent.com
chronyサービスをインストールする
dnf install chrony
chrony構成ファイル
# 構成ファイルの変更
vim /etc/chrony.conf
# 同期NTPサーバーの時刻アドレスを構成します。3つ以上を構成することをお勧めします
server ntp.aliyun.com iburst
server cn.pool.ntp.org iburst
server time1.cloud.tencent.com iburst
# 実際の時間に基づいてコンピューター時間の増減の比率を計算し、ファイルに記録します。ドリフトファイル/var/lib/chrony/drift
# 時間補正
makestep 1.03
# rtcsync命令は、システム時刻が11分ごとにリアルタイムクロック(RTC)にコピーされるカーネルモードを有効にします。
rtcsync
# ハードウェアをサポートするすべてのインターフェイスでハードウェアタイムスタンプを有効にします。
# hwtimestamp *
# システムクロックを調整する必要がある選択可能な信号ソースの最小数を増やします
# minsources 2
# 指定されたネットワーク上のホストが時刻を同期できるようにします。これはデフォルトで有効になっています。すべてのアドレスを指定して拒否しないでください。
allow 0.0.0.0/0
# サービス時間は、どのNTPサーバーとも同期されていなくても、クライアントとの時間同期が不正確になる可能性があります。
# local stratum 10
# NTP認証キーを含むファイルを指定します。
keyfile /etc/chrony.keys
# システムtzデータベースからTAIを取得します-UTCオフセットとリープ秒。
leapsectz right/UTC
# ログファイルのディレクトリを指定します。
logdir /var/log/chrony
# 記録する情報を選択します。
# log measurements statistics tracking
chronyc sources –v
chronyc sourcestats -v
chronyc tracking
ファイアウォール
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
firewall-cmd --list-all
タイムゾーン構成
# システムタイムゾーンアジアを変更する/Shanghai
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 現在のタイムゾーンを表示
timedatectl
クライアント時間の同期
[ root@COS-01~]# ntpdate 192.168.99.10725 May 09:41:55 ntpdate[9603]: adjust time server 192.168.99.107 offset -0.003098 sec
時間同期スケジュールタスク
* /10****/usr/sbin/ntpdate 192.168.99.107;/sbin/hwclock -w
Nginx
Nginxは、軽量のWebサーバー/リバースプロキシサーバーおよび電子メール(IMAP / POP3)プロキシサーバーであり、BSDのようなプロトコルで発行されます。メモリが少なく、同時実行性が高いという特徴があります。
Nginxの展開
# rpmインストールnginx
rpm -ivh http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
# dnf install nginx
dnf -y install http://nginx.org/packages/centos/8/x86_64/RPMS/nginx-1.16.1-1.el8.ngx.x86_64.rpm
# nginxを開始します
systemctl start nginx
# 起動時にnginxを起動します
systemctl enable nginx
# nginxインストールディレクトリを表示する
rpm -ql nginx
# nginxソフトウェアのバージョンを確認してください
rpm -qa nginx
nginx -V
# nginx構成ファイルを確認してください
nginx -t
# nginxをリロードします
systemctl reload nginx
# ファイアウォール
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Nginx公開ファイルディレクトリ
# ディレクトリブラウジング機能をオンにし、自動インデックスをオンにします;
# 詳細なファイルサイズ統計を閉じ、ファイルサイズにMB、GB単位を表示させます。デフォルトはbです。
autoindex_exact_size off;
# サーバーのローカルタイムゾーンでファイルの変更日を表示できるようにします。
autoindex_localtime on;
Nginxフォワードプロキシ
セキュリティ上の理由から、特定のエリアのホストは通常の状況では外部ネットワークにアクセスできませんが、プロジェクトが展開されると、新しく展開されたホストは外部ネットワークに接続してソフトウェアとwgetファイルをインストールする必要があります。解決策は、Nginxフォワードプロキシを使用してホストのインターネットアクセスを実現することです。
Nginx構成ファイル
[ root@Ntp-Server conf.d]# cat proxy.conf
server {
resolver 114.114.114.114;
listen 8088;
location /{
proxy_pass http://$http_host$request_uri;}}
# リスニングポートを表示
netstat -auntlp |grep 8088
# ファイアウォール
firewall-cmd --add-port=8088/tcp --permanent
firewall-cmd --reload
CentOSクライアント構成
# 追加パラメータの編集
vim /etc/profile
export http_proxy=http://192.168.99.107:8088export https_proxy=http://192.168.99.107:8088
# ファイルをリロード
source /etc/profile
---------------------------------------------------
# dnfを使用して、ソフトウェアをインストールするか、外部ネットワークファイルのテストを実行します
wget
wgetはファイルをダウンロードするためのツールであり、wgetはHTTP、HTTPS、およびFTPプロトコルをサポートし、HTTPプロキシを使用できます。いわゆる自動ダウンロードとは、ユーザーがシステムからログアウトした後、バックグラウンドでwgetを実行できることを意味します。これは、システムにログインし、wgetダウンロードタスクを開始してからシステムを終了できることを意味します。タスクが完了するまで、Wgetはバックグラウンドで実行されます。 Wgetは非常に安定しており、帯域幅が狭くネットワークが不安定な場合に強い適応性があります。ネットワークが原因でダウンロードが失敗した場合、wgetはファイル全体がダウンロードされるまで試行を続けます。サーバーがダウンロードプロセスを中断した場合、サーバーはサーバーに再度接続して、中断したところからダウンロードを続行します。これは、リンク時間が限られているサーバーから大きなファイルをダウンロードする場合に非常に便利です。
# wgetをインストールします
dnf install wget
# 圧縮パッケージをダウンロードする
wget http://192.168.99.107/software/kafka_2.12-2.5.0.tgz
# 圧縮パッケージをダウンロードして名前を変更します
wget -O kafka.tgz http://192.168.99.107/software/kafka_2.12-2.5.0.tgz
# 再開可能なアップロード(大きなファイルをダウンロードする場合、ネットワークが不安定になります)
wget -c
# バックグラウンドダウンロード
wget -b
# ファイルストレージディレクトリを指定します
wget -P /opt/software/ http://192.168.99.107/software/kafka_2.12-2.5.0.tgz
PHP
# PHPコンポーネントのインストール
dnf install php php-opcache php-gd php-curl php-mysqlnd php-fpm
# PHPコンポーネントのバージョンを表示
rpm -qa php-*
php -v
php-fpm構成
デフォルトでは、PHP FPMはユーザーapacheとして実行され、nginxユーザーに変更されます
# 構成ファイルの編集
vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
# サービスを再開します
systemctl restart php-fpm
Nginx構成
location ~ \.php$ {
root html;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;}
# nginx構成ファイルを確認してください
nginx -t
Nginxサービスを再起動します
systemctl restart nginx
info.phpを作成し、php情報をリンクします
cd /usr/share/nginx/html/
vim info.php
<? php
phpinfo();?>
nginx接続のphp情報をテストします
http://192.168.99.107/info.php
PHPの最適化
vim /etc/php.ini
expose_php = Off #phpバージョン情報の表示を抑制します
short_open_tag = On #前のキャンセル;、オンに変更します。 phpショートタグのサポートを示します
cgi.fix_pathinfo=1 #コメントを削除し、PHPのpathinfo疑似静的機能を有効にします。役職_max_size = 100M #1回の送信の最大データ。このアイテムは、アップロードされる1つのファイルのサイズに制限されません。,フォーム全体の送信データを制限します。デフォルトは8Mです。
upload_max_filesize = 50M #アップロードされたファイルの最大許容サイズ。デフォルトは2Mです。
max_execution_time =600 #スクリプトが実行される最大時間。デフォルトは30秒です。
max_input_time =600 #スクリプトが消費できる時間、デフォルトは60秒です
memory_limit = 256M #スクリプトの実行によって消費される最大メモリ。必要に応じて値を変更します。デフォルトは128Mです。
date.timezone = asia/shanghai #タイムゾーンを設定する
PHP7はポート9000を監視できませんNginxはテストページにアクセスできません
障害の場所、リッスンせずにポート9200を確認し、nginxアクセスログでエラー502が報告されます。
netstat -auntlp |grep 9000
php 7はデフォルトでポート9000をリッスンしなくなりましたが、/ run / php-fpm / www.sock!
解決
1 、/ etc / php-fpm.d / www.conf構成ファイルを変更し、使用して、sock監視方法をコメントアウトし、ポート9000監視を増やします。
; listen =/run/php-fpm/www.sock
listen =9000
2 、Nginx構成ファイルを変更します(上記のPHPデプロイメントはこのスキームを使用します)
Mariadbのインストール
# mariadbをインストールする
dnf install mariadb-server mariadb -y
# 起動して起動
systemctl start mariadb && systemctl enable mariadb
# ファイアウォール
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
データベースのバージョンを表示
データベースを初期化します
データベースにログインします
mysql -uroot -p
zbbixデータベースを作成する
# zabbixデータベースを作成し、utf8データベースエンコーディングを使用します。
create database zabbix character set utf8 collate utf8_bin;
# zabbixアカウントがlocalhostからzabbixライブラリにアクセスすることを許可する権限を付与します。
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix@zabbix';
# zabbixアカウントが任意のクライアントからzabbixライブラリにアクセスすることを許可する権限を付与します
grant all PRIVILEGES on zabbix.* to 'zabbix'@'%' IDENTIFIED BY 'zabbix@zabbix' WITH GRANT OPTION;
# 権限の更新
flush privileges;
# データベースを確認する
show databases;
PostgreSQLのインストール
# centos組み込みpostgresqlモジュールをオフにします
dnf -qy module disable postgresql
# 公式のPostgreSQLYumリポジトリを開始します
dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# PostgreSQL12サーバーとクライアントをインストールします
dnf install postgresql12 postgresql12-server
# データベースを初期化します
/usr/pgsql-12/bin/postgresql-12-setup initdb
# 起動して起動
systemctl start postgresql-12&& systemctl enable postgresql-12
# サービスステータスを確認する
systemctl status postgresql-12
PostgreSQLの構成
# Postgresyumをインストールすると、デフォルトでpostgresユーザーが作成されます
# postgresパスワードを設定する
passwd postgres
# postgresユーザーに切り替えます
su postgres
# psqlを実行します,postgresのコマンドラインを入力してください
psql
# 脱落
\ q
# psqlコマンドラインでデフォルトのユーザーパスワードを変更します(デフォルトではパスワードなし)
[ root@Ntp-Server /]# su postgres
bash-4.4$ psql -c "ALTER USER postgres WITH PASSWORD 'postgres@postgres';"
ALTER ROLE
# postgresのリスニングアドレスを変更します。デフォルトはローカル接続のみです。
vim /var/lib/pgsql/12/data/postgresql.conf
listen_addresses ='*'
# すべてのアドレスがデータベースに接続できるようにする
vim /var/lib/pgsql/12/data/pg_hba.conf
host all all 0.0.0.0/0 md5
host all all ::1/128 md5
# サービスを再開します
systemctl restart postgresql-12
データベースにログインします
psql -Upostgres -h 192.168.99.107
データベースを作成する
# zabbixユーザーとパスワードを作成する
create user zabbix with password 'zabbixpwd123';
# zabbixデータベースを作成する
create database zabbix owner zabbix;
# データベースのアクセス許可を設定する
grant all privileges on database zabbix to zabbix;
Recommended Posts