ホームページ  >  記事  >  運用・保守  >  LAMP=Linux+Apache+Mysql+Php

LAMP=Linux+Apache+Mysql+Php

巴扎黑
巴扎黑オリジナル
2017-06-23 14:34:402827ブラウズ

1. 現在の主流のインターネットwebサービス

静的サービス:

1.apache---小規模および中規模の静的サービスwebの主流のサービス、webサーバー内の兄弟

2.nginx---大規模な新しいネットワーク静的webサービスの主流、サーバー内のweb新生児の子牛

3.lighttpd---static webサービスがぬるい 火事は徐々に排除され、コミュニティは非活性であり、効率は非常に高いことを意味します。

動的サービス:

1.IIS (インターネット情報サービス)---Microsoft のwebサーバー (aspaspx)

2.tomcat--- 中小企業向けニュースwebサービス主流、インターネットjavaコンテナ主流(jspdo)

3.resin---大規模動的Webサイトweb サービスメインストリーム、インターネットjavaコンテナメインストリーム (jspdo)

4.php (fcgi) --- 大中小規模のウェブサイト、phpプログラムの解析コンテナ

a.apacheと連携、phpはデーモンではありませんが、mod_php5.so(モジュール) )

b. nginxlighttpdphpデーモンモード、FCGIモードを連携します。

2. Apache のインストール

1.まず、必ずhttpdサービスをインストールしてください(yum install httpd -y)

以下を確認してください: yum install g CC GCC ++ ZLIB ZLIB -DEVEL-Y

2.INSTALLAPACHE(AddressShangguanWebサイト)

Apache

Sourceコードコンパイル:

。 2.32

- -enable-expires

--enable-headers

--enable-modules=most

--enable-so

--with-mpm=worker

--enable-deflate

- -enable-rewrite

make &&make install

3.

apacheサービスを開始します: 1

)

apache構文が実行可能かどうかを確認します: [root@localhost local]# /application /apache/bin/apachectl - t

2) apacheサービスを開始します: [root@localhost local]# /application/apache/bin/apachectl start

3) apacheサービスが開始されているかどうかを確認します: lsof - i:80 または ps -ef|grep apache

動作します

成功を示します

そうでない場合は

okポート、ファイアウォールを確認してください セリナックス 、 process strace

プロセスを追跡するコマンド

/application/apache/htdocs/の下にあるコンパイルされた内容を変更します index.html があります

3./application/apache

ディレクトリ構造

apache の最適化 1. の前に - 記号を追加します。 root@localhost conf のインデックス]# vi httpd.confまたは直接削除してください

/application/apache/conf/extra

3 つの主要なファイル

4. 仮想ホスト

1.

仮想ホスト: 複数のサイトを展開する、各サイトは異なるドメイン名とサイト ディレクトリを使用したいか、異なるポートと異なる

IP が必要な仮想ホストを使用したいと考えています。

一言で言えば、

httpサービスが複数のサイトを構成する必要がある場合、仮想マシンが必要になります。 サイトディレクトリ

www.etiantian.org

を使用

@localhost apache]# mkdir /var/html/{www ,blog,bbs} -p

[root@localhost apache]# touch /var/html/{www,blog,bbs}/index.html

[root @localhost apache]# www blog bbs の名前;do echo "http://$name.etiantian.org" >/var/html/$name/index.html;done

[root@localhost apache]# www ブログ bbs の名前;do cat /var/html /$name/index.html;done

vim /application/apache/conf/extra/httpd-vhosts.conf

ServerAdmin 928939638@qq.com

DocumentRoot "/ var/html/www"

ServerName www.etiantian.org

ServerAlias etiantian.org

ErrorLog "logs/www-error_log"

CustomLog "logs/www -access_log" common

ServerAdmin 928939638@qq.com

DocumentRoot "/var/html/blog"

ServerName blog.etian tian.org

ErrorLog "logs/blog-error_log"

CustomLog "logs/blog-access_log" common

ServerAdmin 928939638@qq.com

DocumentRoot " /var/html/bbs"

サーバー名bbs.etiantian.org

ErrorLog "logs/bbs-error_log"

CustomLog "logs/bbs-access_log" common

vim /application /apache/conf/httpd.conf (クリックコメントの次の 2 行)

[root@localhost extra]# /application/apache/bin/apachectl -t

構文OK

構文を確認してください

[root@localhost extra]# /apひだ/ apache/bin/apachectl グレースフル apache を再起動します

vim /application/apache/conf/httpd.conf 次の内容を最後の行に追加します:

オプション FollowSymLinks

AllowOverride None

Order allowed,deny

Allow from all

上記の設定は、403エラーを防止し、構文が間違っているかどうかを確認するためのものです(エラーです

Windows local system32 drives hosts (192.168.76.128 www.etiantian.org blog.etiantian.org bbs.etiantian.org

) を変更します

[root@localhost extra]# grep "^Include" /application/apache/conf/ httpd.conf

conf/extra/httpd-mpm.conf を含める

conf/extra/httpd-vhosts.conf を含める

1. sbin/nologin

mysqlコンパイル: ./configure --prefix=/application/mysql5.1.72

--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql .sock

--localstatedir=/application/mysql5.1.72/data

--enable-assembler

--enable-thread-safe-client

--with-mysqld-user =mysql

--with -big-tables

--デバッグなし

--pthread 付き

--アセンブラを有効化

--with-extra-charsets=complex

--readline 付き

--ssl 付き

--with-embedded-server

--enable-local-infile

--with-plugins=partition,innobase

--with-mysqld-ldflags=-all-static

--with-client -ldflags=-all-static

yum -y install ncurses-devel

(エラー解決方法)

root@localhost application]# cd /home/cai/tools/

[root@localhost tools]# cd mysql-5.1.72/support-files/

[root@localhost support-files]# cp my-small.cnf /etc/my.cnf

cp: "/etc /my.cnf" をカバーするかどうか? y

[root@localhost support-files]# cd /etc/

[root@localhost etc]#less my.cnf

[root@localhost etc]# mkdir /application/mysql/date -p

[ root@localhost など]# chown -R mysql.mysql /application/mysql

[root@localhost など]#/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/ data/ --user=mysql

MySQL システム テーブルをインストールしています...

170314 20:15:22 [警告] 「--skip-locking」は非推奨であり、将来のリリースでは削除される予定です。「--」を使用してください。代わりに、skip-external-locking' を使用してください。

OK

ヘルプ テーブルを埋めています...

170314 20:15:22 [警告] '--skip-locking' は非推奨であり、将来のリリースでは削除される予定です。使用してください。代わりに「--skip-external-locking」を使用してください。

OK

ブート時に mysqld を起動するには、システムの適切な場所に

support-files/mysql.server をコピーする必要があります

覚えておいてくださいMySQL root ユーザーのパスワードを設定するには !

これを行うには、サーバーを起動して、次のコマンドを発行します:

/application/mysql/bin/mysqladmin -u root password 'new-password'

/ application/mysql/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

あるいは、次のコマンドを実行することもできます:

/application/mysql/bin/mysql_secure_installation

デフォルトで作成されるテスト

データベースと匿名ユーザーを削除するオプションです。これは本番サーバーに強く推奨されます

cd /application/mysql/bin/mysqld_safe run.pl

問題があれば報告してください。 /application/mysql/scripts/mysqlbug スクリプトを使用します!

Start

mysql:/application/mysql/bin/mysqld_safe & (サービスを開始し、ブートに追加します 自己起動)

[root @localhost support-files]# netstat -lntup|grep mysql (サービスが開始されているか確認)

vi /etc/profile 最後にuser行を追加

シャットダウン:

mysqladmin shutdown

/application/mysql/bin/mysqladmin -u root -h localhost.localdomain パスワード 'new-password' パスワードを設定

mysql -uroot -p (パスワードを渡した後、mysqlにログインする方法を設定します

pphe==

fc giphp -

-yum -YUM-YINSTALL GCC GCC-C ++ AutoConf Libjpeg Libjpeg-Devel libpng libpng-devel free-devel libxml2-devel ZLib-Deer GL IBC Glibc-Devel Glib2-Devel Bzip2-Devel NCURSES- Devel NCURSES- develcurlcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers (インストールが必要なさまざまなライブラリ)

yum install zlib libxml libjpeg freetype libpng gdcurl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-develcurl-devel -y (oldboy より) libiconv ライブラリが必要 (コンパイルしてインストール)

phpコンパイル: ./configure

--prefix=/application/php5.3.27

--with-apxs2=/application/apache/bin/apxs --with-mysql=/application/ mysql

- -with-xmlrpc

--with-openssl

--with-zlib

--with-freetype-dir

--with-gd

--with-jpeg-dir

- -with-png -dir

--with-iconv=/usr/local/libiconv

--enable-short-tags

--enable-sockets

--enable-zend-multibyte

--enable -soap

--enable-mbstring

--enable-static

--enable-gd-native-ttf

--with-curl

--with-xsl

--enable-ftp

--with- libxml-dir

[root@localhost php]# ll /application/apache/modules/

合計使用量

23908

-rw-r--r-- 1 root root 9262 April 15 09:27 httpd.exp

-rwxr-xr-x 1 root root 24465701 4月15日 10:15 libphp5.so

[root@localhost php]# grep libphp5 /application/apache/conf/httpd.conf

LoadModule php5_module modules /libphp5.so

Configuration

php

ファイル:

2 つあり、1 つは本番環境です

1 つは開発環境 (テスト環境) )

[root @ localhost php-5.3.27]# diff php.ini-development php.ini-production

[root@localhost php-5.3.27]# cp php.ini-production /application/php/lib/php .ini 概要: 公式設定ファイルは通常、LOG の表示を閉じ、LOG を出力しません

Configuration

apache support php

vim /application/apache/conf/httpd.conf Modify line 98 ServerName 192.168 .76.128: 80

vim /application/apache/conf/httpd.conf 311 行の下に 2 行追加

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd- php-source .phps

user デーモンも別のものに変更する必要があります (デフォルトのものを変更する必要があることは誰もが知っています) 166 行目は

[root@ localhost conf]# diff httpd.conf httpd .conf.ori,67,68c67,68

& lt; ユーザー www

& lt; グループ www

---

& gt; ユーザー デーモン

& gt;グループデーモン

168c168

& lt; ディレクトリインデックスインデックス.html

---

> ディレクトリインデックスインデックス.html

320,321d319

<

Add

www user: useradd www -s /sbin/nologin -M

[root@localhost conf]# /application/apache/ bin/apachectl グレースフル apache サービスを再起動します

/var/html/blog vi の前に構築された仮想マシンで

php をテストします。 ?php

phpinfo();

?> ;

このインターフェイスは、php+apacheが成功したことを示しているようです

vi /var/html/blog/index.php

//$link_id=mysql_connect('hostname','user','password');

$link_id=mysql_connect('localhost','root','oldboy123') または mysql_error ();

if($link_id){

echo "mysqlはオールドボーイによって成功しました!";

}else{

echo mysql_error();

}

?>

上のインターフェースは、mysqlが成功したことを示しています

以上がLAMP=Linux+Apache+Mysql+Phpの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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