ホームページ  >  記事  >  PHPフレームワーク  >  Lamp 環境構成: CentOS 6.3 上の Alibaba Cloud サーバー上の LAMP 環境構成

Lamp 環境構成: CentOS 6.3 上の Alibaba Cloud サーバー上の LAMP 環境構成

不言
不言オリジナル
2018-07-28 17:18:422294ブラウズ

多くの学生は LAMP 環境の構成に慣れていない可能性があり、LAMP 環境の構成時にいくつかの問題が発生する可能性があります。今日は、Alibaba Cloud Server に基づく LAMP 環境構成に関する詳細な記事を php 中国語 Web サイトで友人と共有します。 CentOS 6.3 については、以下で詳しく見てみましょう。

1. Apache 設定

vi /etc/httpd/conf/httpd.conf 編集ファイル

Options Indexes FollowSymLinks

331 行目を次のように変更します: Options include ExecCGI FollowSymLinks (サーバーが CGI と SSI を実行できるようにする) )

#AddHandler cgi-script .cgi

は 796 行目で次のように変更されます: AddHandler cgi-script .cgi .pl (拡張子 .pl を持つ CGI スクリプトの実行を許可します)

AllowOverride None

は 338 行目で次のように変更されます:AllowOverride All (Allow .htaccess)

AddDefaultCharset UTF-8

759行目をAddDefaultCharset GB2312に変更(デフォルトのエンコーディングとしてGB2312を追加)

Options Indexes MultiViews

この行を見つけて「Indexes」を削除し、変更しますこの状態にします。 Options MultiViews (ブラウザにツリー ディレクトリ構造を表示しません)

DirectoryIndexindex.htmlindex.html.var

402行目を次のように変更します:DirectoryIndexindex.htmlindex.htmDefault.html Default.htm Index.php Default.php index.html.var (デフォルトのホームページ ファイルを設定し、index.php を追加します)

KeepAlive Off

76 行目を次のように変更します: KeepAlive On (プログラムによる接続を許可します)

MaxKeepAliveRequests 100

83 行目を次のように変更します: MaxKeepAliveRequests 1000 (同時接続数を増やす)

:wq! #Save and exit

/etc/init.d/httpd restart Restart

DocumentRoot "/var/www/html" を自分のものに変更しますディレクトリ "/data0/www/xxxxxxxxx" (このディレクトリはマウントされたデータディスクです)

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #デフォルトのテストを削除しますページ

Apacheのログファイル
ErrorLog /etc/httpd/logs/error_log (phpのエラーログもここに出力されます)
CustomLog /etc/httpd/logs/access_logを結合

2. PHPの設定

vi / etc/ php.ini #Edit

date.timezone = PRC #946行目の前のセミコロンを削除し、date.timezone = PRC

magic_quotes_gpc = On #SQLインジェクションを防ぐために745行目でmagic_quotes_gpcをオンにします(php5.4はそうします) magic_quotes_gpc はサポートしていません (SQL 流入の防止))

log_errors = オン #エラー ログを記録します

:wq! #保存して終了します

/etc/init.d/httpd restart #Apche を再起動し、php

3.データディスク

Alibaba Cloud Server のハードディスクは 2 つの部分で構成されており、1 つはシステムディスク、もう 1 つはデータディスクです。データディスクを使用する場合は、デフォルトではマウントされません。自分で手動でマウントします。

コマンド fdisk -l により、デバイス名が /dev/xvdb であることがわかります。

さらに、マウントする前にハードディスク (/dev/xvdb) をパーティション分割してフォーマットする必要があります。

fdisk コマンドを使用してパーティションを作成し、mkfs.ext3 を使用してフォーマットします。

操作方法は公式ドキュメント:Linuxシステムのデータディスクのマウントを参照してください。

最大 4 つのデータ ディスクをマウントでき、それらは /data0 にマウントされます。その後、他のディスクは /data1、/data2、/data3 にマウントできます

Alibaba Cloud サーバー コンソールは、データ ディスクの役割を提供します。 「リセット」機能 (オプション) システム ディスクまたはデータ ディスクをリセットします。オペレーティング システムが壊れている場合は、システム ディスクをリセットし、Web サイトのデータをデータ ディスクに保存することしかできません。

4. MySQL データベースを構成します

初期パスワードを設定し、データベースを構築し、テーブルを作成し、データをインポートします

こちらを参照してください: MySQL のバックアップとリカバリ、MySQL サーバーへのリモート アクセス

次に、mysql データ ファイルを「 」に移動しますデータディスク」は、システム障害によるシステムのやり直し時にデータが失われるのを防ぐためのものです。

mysql データ ファイルを移動した後、mysql -u username -p を使用してログインするとエラーが発生しました: ERROR 2002 (HY000): Can't ソケット経由でローカルの MySQL サーバーに接続する '/var/lib/mysql/mysql.sock' (2)

主な理由は、my.cnf ファイルを変更するときに上記とは異なるいくつかの手順があるためです。操作方法は以下の通りです

  • mysqlプロセスを停止します

  • /var/lib/mysqlディレクトリ全体を/data0/dbに移動

mv /var/lib/mysql /home/data/

この方法 MySQL データ ファイルを /data0/db/mysql に移動しました

  • my.cnf 設定ファイルを変更します

/etc/my.cnf 設定ファイルを直接使用せず、/usr に移動してください/share/mysql/ *.cnf ファイルを見つけて、そのうちの 1 つ (私の場合は my-medium.cnf) を /etc/ にコピーし、名前を my.cnf に変更します。コマンドは次のとおりです:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  • MySQL 設定ファイル /etc/my.cnf を編集します

MySQL が適切に動作できるようにするには、mysql.sock ファイルが生成される場所を指定する必要があります。

# 次のオプションはすべての MySQL クライアントに渡されます
[client]
#password = your_password
port = 3306
#socket = /var/lib/mysql/mysql.sock #Commented
socket=/data0/db/ mysql /mysql.sock #新しく追加されたコンテンツ
# いくつかの特定のプログラムのエントリが続きます

# MySQL サーバー
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock #コメント付き
datadir= /data0/db/mysql #新規追加コンテンツ
socket=/data0/db/mysql/mysql.sock #新規追加コンテンツ

  • MySQL起動スクリプト/etc/rc.d/init.d/ mysqld 作成する必要はありません変更があれば

  • MySQL サービスを再起動します

/etc/rc.d/init.d/mysqld start

作業が正常であれば、移動は成功します。それ以外の場合は、前の 7 つの手順に従って再度確認してください。 。

MySql を移動した後、PHP は MySql データベースに接続できません

上記の操作後、MySql データ ファイルを他のディレクトリに移動した後、mysql.sock ファイルが見つからないため、PHP は MySql データベースに接続できません。

解決策 1:

ソフト接続を作成する

cd /var/lib
mkdir mysql
ln -s  /data0/db/mysql/mysql.sock  /var/lib/mysql/mysql.sock

解決策 2:

/etc/php.ini ファイルを変更する

mysql.default_socket = という行を見つけます。この値は最初は空です。 mysqlに組み込まれているデフォルト値を使用します。

次の内容に変更します:

mysql.default_socket = /data0/db/mysql/mysql.sock

実際の状況に応じてmysql.sockのファイルの場所を入力してください。

mysqli.default_socket = もあります。変更するかどうかは状況によって異なります。ここでは変更されていません

おすすめ関連記事:

Alibaba Cloud での LAMP 環境の簡単なインストールとデプロイメントサーバー - CentOS 6.3 ベース

Linux LAMP (Apache+PHP+MySql) 環境構成

Laravel 環境セットアップ: Laravel を Alibaba Cloud または Tencent Cloud にデプロイする方法の手順

関連コースの推奨事項:

2017年におすすめの最新Laravelビデオチュートリアル5本

以上がLamp 環境構成: CentOS 6.3 上の Alibaba Cloud サーバー上の LAMP 環境構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。