CentOS 8(1)

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:// :9090

クロニークロックサーバー

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のインストール

# 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

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

CentOS 8(1)
centos7 python3.7 + vi
CentOS + Python3.6 +
CentOS + Jenkins
1.5Centos7をインストールする
2019-07-09CentOS7のインストール
centos7_1708のインストール
Centos 7.5 python3.6
Centos5インストールガイド
Centos6はPython2.7.13をインストールします
Centos7.6はdjango + nginx + uwsgiをデプロイします
Centos7.3はnginxをインストールします
CentOS7.2はMysql5.7.13をインストールします
Centos7はPython3.6をインストールします。
CentOS7はMySQLをインストールします
Centos7インストールprotobuf
CentOS7はDockerをインストールします
CentOS7.0ネットワーク構成
CentOS7はGlusterFSをインストールします
CentOS7.0ネットワーク構成
CentOS7アップグレードpython3
CentOS8が正式にリリースされました
CentOS7はDockerをインストールします
Centos6.5はTomcatをインストールします
CentOSはPython3.6をインストールします
VmwareはCentOS6をインストールします
centos7 install docker-ce 18.01.0
CentOS7.2はMariaDBをインストールします
CentOS7はHadoop3.0.0をインストールします
Centos7はPython2.7をインストールします
Centos7.6はseleniuをインストールします
CentOS8が正式にリリースされました
CentOS7の基本構成
CentOS7.3はZabbix3をインストールします
Centos7はLAMP + PHPmyadminをインストールします
CentOSインストールmysql
CentOS7ビルドジェンキンス
Dockerのインストール(CentOS7のインストール)
Centos6.5opensshアップグレード
Centosビルドlnmp
Centos7ビルドpython3.8.5 + scrapy + gerapy
CentOSはopenjdk1.8をインストールします
CENTOS6.5インストールCDH5.12.1(1)
CentOSはPHPをインストールします
CentOSミラータイプ
Centos7はDockerをインストールします
CentOS7インストールmysql
centOsはrabbitMQをインストールします
CentOS7はMySQL5.6をインストールします
CentOS6 / 7アップデートカール
Centos7はNginxをインストールします
CentOS6.5はCDH5.13をインストールします
Centos7インストールdocker18
CentosはPython3をインストールします
centos7インストールドッカー
CentOSインストールjdk
centos7インストールnginx-rtmp
CentOS8はMySQL8.0をインストールします
Centos6.3はKVMをインストールします
CentOSはPostgreSQL9.1をインストールします
CentOS7はmysql8をインストールします