Centos7.4 サーバーへの Apache のインストールとインストール プロセス中に発生した問題の解決策

Centos7.4 サーバーへの Apache のインストールとインストール プロセス中に発生した問題の解決策

この記事では、CentOS 7.4 サーバーに Apache をインストールする方法と、インストール プロセス中に発生する問題を解決する方法について説明します。ご参考までに、詳細は以下の通りです。

1. httpdをインストールする

1. インストールの前に、システムに httpd.rpm パッケージがインストールされているかどうかを確認します。インストールされていない場合はインストールされていません。インストールされている場合は、rpm -e で対応する rpm パッケージ名を使用して削除します。

#rpm -qa | grep httpd

2. yumを使用してインストール(依存パッケージを自動的にインストール)する、シンプルで便利

#yum -y httpdをインストール

3. インストールが成功したら、httpd-vを使用してインストールされているApacheのバージョンを確認し、Apache構成ファイルの場所を見つけます。

#検索 / -name "httpd.conf"

4. リカバリの失敗を防ぐためにソース構成ファイルをバックアップする

#cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

5. Apacheサービスを開始する

#systemctl httpd.service を起動します

6. 起動時にApacheサービスを自動的に開始する

#systemctl enable httpd.service 起動時にhttpdを自動的に起動する
#systemctl enable httpd.service 起動時にhttpdを起動しない

7. httpdのステータスを確認する

#systemctl ステータス httpd.service

2. インストール中に問題が発生する

1. Apache の起動に失敗しました。制御プロセスがエラー コードで終了したため、httpd.service のジョブが失敗しました。詳細については、「systemctl status httpd.service」および「journalctl -xe」を参照してください。

コマンドを実行し、エラーメッセージを確認します

#systemctl ステータス httpd.service

[root@cloud1 bin]# systemctl ステータス httpd.service
  httpd.service - Apache HTTP サーバー
  ロード済み: ロード済み (/usr/lib/systemd/system/httpd.service; 無効; ベンダープリセット: 無効)
  アクティブ: 失敗 (結果: 終了コード) 2018-11-26 11:13:09 CST 以降; 6 分前
   ドキュメント: man:httpd(8)
      男:apachectl(8)
 プロセス: 9915 ExecStop=/bin/kill -WINCH ${MAINPID} (コード=終了、ステータス=1/FAILURE)
 プロセス: 9913 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (コード=終了、ステータス=1/FAILURE)
 メイン PID: 9913 (コード = 終了、ステータス = 1/失敗)
11月26日 11:13:09 cloud1.localdomain httpd[9913]: (98)アドレスは既に使用されています: AH00072: make_sock: アドレス [::]:80 にバインドできませんでした
11月26日 11:13:09 cloud1.localdomain httpd[9913]: (98)アドレスは既に使用されています: AH00072: make_sock: アドレス0.0.0.0:80にバインドできませんでした
11月26日 11:13:09 cloud1.localdomain httpd[9913]: 利用可能なリスニングソケットがありません。シャットダウンします
11月26日 11:13:09 cloud1.localdomain httpd[9913]: AH00015: ログを開けません
11月26日 11:13:09 cloud1.localdomain systemd[1]: httpd.service: メインプロセスが終了しました、コード=終了、ステータス=1/FAILURE
11月26日 11:13:09 cloud1.localdomain kill[9915]: kill: プロセス "" が見つかりません
11月26日 11:13:09 cloud1.localdomain systemd[1]: httpd.service: 制御プロセスが終了しました、コード=終了 ステータス=1
11月26日 11:13:09 cloud1.localdomain systemd[1]: Apache HTTP Serverの起動に失敗しました。
11月26日 11:13:09 cloud1.localdomain systemd[1]: ユニットhttpd.serviceが失敗状態になりました。
11月26日 11:13:09 cloud1.localdomain systemd[1]: httpd.service が失敗しました。

問題はポート80が占有されていることだ

解決:

ポート80の使用状況を確認する

netstat -lnp|grep 80

tcp 0 0 192.168.180.68:61027 0.0.0.0:* LISTEN 6289/oproxyd
tcp 0 0 :::80 :::* 846/httpdをリッスン
tcp 0 0 ::ffff:192.168.180.68:7001 :::* LISTEN 32015/java

ポート80を占有しているプロセスを強制終了する

② . kill -9 846

③. 最初の2つの方法が機能しない場合は、再起動してからhttpdサービスを起動します。

2. Apache の起動に失敗しました。httpd: httpd: ServerName に localhost.localdomain を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした。

①. Apache設定ファイルを入力する

vi /etc/httpd/conf/httpd.conf

② ./ServerName ServerNameを検索

#サーバー名 www.example.com:80

先頭の#を削除します

:wq wq保存して終了

③. サービスを再起動する

systemctl で httpd.service を再起動します。

この記事が CentOS サーバーの設定に役立つことを願っています。

以下もご興味があるかもしれません:
  • Centos7 での mysql 8.0.15 のインストールと設定
  • Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル
  • Centos7.5 構成 Java 環境のインストール Tomcat の説明
  • Centos7 サーバーで jar パッケージ プロジェクトを開始する最良の方法
  • Alibaba Cloud Centos7のインストールとSVNの設定
  • CentOS7 systemdにカスタムシステムサービスを追加する方法
  • CentOS7 のシステム サービスに Nginx を追加する方法
  • Linux での Centos7 ファイアウォールの基本的な使用方法の詳細な説明
  • Centos7.x での Nginx のインストール、SSL 設定、一般的なコマンドの詳細な説明
  • CentOS 7 ブートカーネルの切り替えとブートモードの切り替えの説明

<<:  MYSQL updatexml() 関数のエラーインジェクション分析

>>:  VUE+Express+MongoDBのフロントエンドとバックエンドの分離によるノートウォールの実現

推薦する

ES6 Promiseの使い方の詳細な説明

目次約束とは何ですか?拒否の使用法キャッチの使い方すべての使用法レースの使用約束とは何ですか? Pr...

JavaScript でフロントエンドのカウントダウン効果を実装する

この記事では、フロントエンドのカウントダウン効果を実現するためのJavaScriptの具体的なコード...

Docker Compose で環境変数を参照する方法の例

プロジェクトでは、さまざまな条件や使用シナリオを制御するために、docker-compose.yml...

MySQLにおけるACIDトランザクションの実装原理の詳細な説明

導入いつものように、シーンから始めましょう〜インタビュアー:「トランザクションの4つの特性をご存知で...

MySQL での %% のようなファジークエリの実装

1、%: 0 個以上の任意の文字を表します。あらゆるタイプと長さの文字に一致します。場合によっては、...

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ [root@insure updev]# docke...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

div間のギャップの解決策

HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...

Nodejs プラグインと使用方法の概要

このチュートリアルの動作環境: Windows 7 システム、nodejs バージョン 12.19....

seata docker 高可用性デプロイメントの詳細な紹介

バージョン1.4.2公式ドキュメントドッカーハブ起動する環境変数SEATA_CONFIG_NAMEを...

JavaScript で Baidu Maps API にアクセスする方法と手順

目次1. Baidu Map API アクセス2. HTML で Baidu Map API を使用...

Velocity.js はページスクロール切り替え効果を実装します

今日は、複数ページのスクロール切り替え効果を備えた Web サイトを簡単かつ効率的に開発できる、小さ...

Vue.js ソースコード解析のカスタム手順の詳細な説明

序文コア機能のデフォルトの組み込みディレクティブ (v-model および v-show) に加えて...

Docker イメージの作成、アップロード、プル、およびデプロイ操作 (Alibaba Cloud を使用)

学習プロセス中にプッシュ イメージが常にタイムアウトすることがわかったため、Alibaba Clou...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...