ところでCentosでのnginx,php,mysqlおよびphpmyadminの構成
11664 ワード
大話centosの下でphalconフレームワークを配置
Centosかubuntuか?
このタイトルに沿って使うと、心の中では「私が以前使っていたwindowsを話してもいいですか?」「windows下xampp,wampワンタッチ配置よ、木あり!私は最初から馬鹿で無邪気に買ったばかりのアリクラウドサーバーにwindow Server 2008をインストールし、xamppの配置に着手し、2時間で解析環境をすべて配置し、心の中でどんなサーバーが難しいのかとツッコミを入れ、本大(diao)神(si)目にはクズだらけ!いろいろな喜びがあって、楽しくテスト会社のサイトを始めて、それから私はあまり考えていません(やはり若すぎます)、それから数日间プロジェクト开発に浸って抜け出せなくて、サーバーを振り回すことができませんでした.
プロジェクトが終わりに近づいたので、オンラインになってみると、ローカルプログラムをサーバーにアップロードしました(サーバーがwindows環境なので、デスクトップのリモート接続(私は本当にツッコミを入れられない)macでは本当に使いにくい)、windowsの下でリモートFTP接続を配置していないため、悲劇的な共有ディスクドライブでプログラムを更新しました(誰が誰を使っているか知っています)、いろいろな遅いことは言いませんでしたが、まだいつも紛失しています.しかし、これらは私にwindowsの懐を放棄する考えを生んでいません.
プロジェクトの前のバックグラウンドはすべて私が自分で作ったので、フロントエンドはh 5+jsを使って、各种のajaxがデータインタフェースを呼び出すことを免れられなくて、それから悲剧はこれで発生します~windowsのapache 2は3、5分でしゃっくりしておならをして、取引先のバックグラウンドはいつも登场することができなくて、基本は1つの电话で、私の心の中はやはりlinuxシステムこれで私の3*24時間のCentOs+nginx+php+mysql+phpmyadmin+phalcon振り回される旅が始まりました(nginxは7*24時間再起動しない小金剛だそうです).
最初は配置されたunbun 12だったからです.04のシステムは、始める前にubuntuを使うかcentosを使うか考えたことがありますか?最後に、私はやはりcentosを選んだ.名前が少し大気を感じているからだ.
環境のインストール PHP-FPMはCentOSの公式ライブラリに存在しないため、まずサードパーティの拡張ソフトウェアソースを追加し、以下のコマンドを実行する必要があります: その後、編集:vi/etc/yum.repos.d/epel.repo: 次いでvi/etc/yum.repos.d/remi.repo:
必要なパッケージファイルをインストールできます.
MySQLサーバーのインストール
-Nginxのインストール
PHPおよび関連部品の取り付け MySQL を起動 Nginx を起動する PHP-FPM を起動する Nginxの起動に失敗した場合、Apache httpdサービスがインタフェースを占有している可能性があります.この場合、Nginxの堅牢なポートを変更するか、Apache httpdを変更するか、Apache httpdを直接削除します. mysqlパスワードを変更 実行mysql_secure_Installationコマンドは、初めてインストールしたので直接車に戻り、新しいパスワードの設定 に入ります.
PHPの設定 PHPプロファイルを開く:vi/etc/php.ini cgiを設定.fix_pathinfo=0:(ここに穴があります~!)
[...]
upload_の設定max_filesize最大ファイルアップロードサイズupload_max_filesizeは16 MBです.
post_の設定max_sizeは32 MB:
開く:vi/etc/php-fpm.d/www.conf :
および:以上はすべての环境配置がほぼ终わった(普通は1时间ですべてが终わって、2 M帯域幅なら)以上のインストール配置は潘韬个人ブログ:http://xingzhewujiang.org/press/install-nginx-mysql-php-fpm-pahclon-on-centos-65.html。配置が终わったこれらは私はその时私が配置が完成するまで远くないと思って、自分が素晴らしいと感じます~ ドメイン名の解析
-以前からドメイン名を解析していたので、nginx仮想ホストを構成するだけです.静解析 静的解析nginxによって提供するvirtual.confに提供される例の解析はlisten 80である.server_name somename alias another.alias; location/{ root html; index index.html index.htm;}} 動的解析、nginx自体がphpを解析できないため、phpを9000ポートに転送し、php-fpmに提出して解析します.ここで私のプロファイル
-ここで注意が必要なのは、nginxを再起動したときに$documentを認識できないことです.root、fastcgiをparam SCRIPT_FILENAME $document_root$fastcgi_script_name;中の$document_rootはあなたのプロジェクトの入り口のファイルの位置に変えて、私はこの地方で長い間悩んで、半日やっと整理して、この解析規則は基本的に大部分のphpプロジェクトの解析を満たすことができます.
phpmyadminのインストールリソースダウンロード phpmyadminトップページ(http://www.phpmyadmin.net/home_page/index.php)、downloadを開き、最新のphpmyadmin(多言語(all-languages))のバージョンをダウンロードし、ダウンロードが完了したら、パッケージ用ftpツールでサーバーにアップロードし、アドレスはホームディレクトリの下に新しいphpmyadminフォルダの下に置くことをお勧めします。 解析phpmyadmin 仮想ホストをphpmyadminルートディレクトリの下に解析するか、上の動的解析ルールに沿って解析するかを構成します.
よくあるエラーインストールが完了すると、よくあるエラーが発生します.phpmyadminにアクセスすると、エラーコードは次のとおりです. Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. この时ネット上で何か5つのステップを提供して神馬を解決することができて、私はとても(sha)真(bi)の1つ1つの試みを認めて、それから・・・不思議なことが発生して、まったく役に立たない!このようなソリューション(http://www.7edown.com/edu/article/soft_4365_1.html)、すべてコピーして貼り付けた答え、ルート-は役に立たなかった(前後の関係が欠けているため、みんながむやみにやった). 最後にセッションのプロファイルに基づいてphpmyadmin/libraries/sessionを見つけました.inc.php、コードを変更します: ルートディレクトリの下にtepフォルダを新規作成し、読み書き権限を与えることを覚えています(chmod 777./)、私の比較的簡単で乱暴で、少し安全上の危険性があります. これで、仮想ホストドメイン名を開くとphpmyadminに正常にアクセスできます.
phalcon環境の構築以上の手順でフロント環境が基本的に構築されているため、最後に今日の主役ゲスト(phalconフレームワーク)の構築が必要になります. phalcon紹介(http://www.phalconphp.com/) phalconはc言語で直接作成されたphpフレームワークであり、柔軟性(低結合)で、拡張性が強く、高性能で有名であり、登録、工場サービスの形式で存在するphpフレームワークでもある. 私たちのシステムはCentosなので、公式に私たちに与えられたケース(http://phalconphp.com/zh/downloadphalconモジュールを手動でコンパイルする必要があります )によると 2 2 2つのコンパイル環境とツールのインストール: 最新のphalconファイル をダウンロードは、 を実行する.コンパイル済みsoファイルディレクトリアドレス: FAQ 最後にso拡張ファイルは.iniファイルでは、Centosは/etc/phpに直接使用できないことに注意してください.iniに直接加える:extension=phalcon.so,このようにphp-fpmを再起動するとphp:startup()というエラーが報告されます. /etc/phpが必要です.dにphalconを新規作成する.iniファイル、 加入内容: それから保存して、php-fpmサービスを再起動して、この場所は私を何時間もやって、最初はドキュメントをよく読んでいなかったので、半日調べてcentosを返して新しいものを作る必要があります.iniファイルをロードできます. 次にphp-fpmに再起動されても半日も穴があいた.その再起動命令は だった.
私は/etc/init.d/php-fpm restartは半日も反応せず、ずっと再起動できなかった.半日パスワードを間違えたのか.これでphalconフレームワークがロードされ、 にプロジェクトがサーバに配備されます.同様に、ドメイン名をサーバに解析し、前の動的解析プロファイルに沿って使用します.その後、ブラウザでWebサイトを軽く入力するだけで、意外なことがなく、エラーを報告します. 私が前に書いたドキュメントをよく見ると、nginx環境を構成してphpを変更していることがわかります.iniの時、私はここに穴があると書きました.etc/phpを見つける必要があります.ini: 変更が完了するとサーバが再起動し、2番目のエラー が発生します.第2のエラーは権限エラーであるべきで、エラーコード:Volt can't be writen!,プロジェクトファイルの読み書き権限(775)chmod 755-R./ 以降、おなじみのphalconインタフェースが見えます! 楽しい~花を撒きます.
現在、サーバーの配置はこのようにして、基本的に小型プロジェクトの需要を満たすことができますが、nginxはバックグラウンドphpなどの解析には特に理想的ではありません.だから、私はもう数日前のバックグラウンドサーバーを分離するつもりです.フロントエンドはubuntu+nginx+mongodbで、バックグラウンドはapache 2+centos+mysql(postgresql)+phpで、最後にバックグラウンドは業務とデータの持続層の分離を実現します.データインタフェースとデータベースを別のサーバに配置し、分散アーキテクチャを実現します.
付録: centos共通コマンド: 付与権限: この文書について何か質問やアドバイスがあれば、
メールボックスをzhoukai at dreamzk dot cnに送ってください
あ、最初の時間に返事します.ありがとうございます.転載は出典を表明してください.ありがとうございます.
Centosかubuntuか?
このタイトルに沿って使うと、心の中では「私が以前使っていたwindowsを話してもいいですか?」「windows下xampp,wampワンタッチ配置よ、木あり!私は最初から馬鹿で無邪気に買ったばかりのアリクラウドサーバーにwindow Server 2008をインストールし、xamppの配置に着手し、2時間で解析環境をすべて配置し、心の中でどんなサーバーが難しいのかとツッコミを入れ、本大(diao)神(si)目にはクズだらけ!いろいろな喜びがあって、楽しくテスト会社のサイトを始めて、それから私はあまり考えていません(やはり若すぎます)、それから数日间プロジェクト开発に浸って抜け出せなくて、サーバーを振り回すことができませんでした.
プロジェクトが終わりに近づいたので、オンラインになってみると、ローカルプログラムをサーバーにアップロードしました(サーバーがwindows環境なので、デスクトップのリモート接続(私は本当にツッコミを入れられない)macでは本当に使いにくい)、windowsの下でリモートFTP接続を配置していないため、悲劇的な共有ディスクドライブでプログラムを更新しました(誰が誰を使っているか知っています)、いろいろな遅いことは言いませんでしたが、まだいつも紛失しています.しかし、これらは私にwindowsの懐を放棄する考えを生んでいません.
プロジェクトの前のバックグラウンドはすべて私が自分で作ったので、フロントエンドはh 5+jsを使って、各种のajaxがデータインタフェースを呼び出すことを免れられなくて、それから悲剧はこれで発生します~windowsのapache 2は3、5分でしゃっくりしておならをして、取引先のバックグラウンドはいつも登场することができなくて、基本は1つの电话で、私の心の中はやはりlinuxシステムこれで私の3*24時間のCentOs+nginx+php+mysql+phpmyadmin+phalcon振り回される旅が始まりました(nginxは7*24時間再起動しない小金剛だそうです).
最初は配置されたunbun 12だったからです.04のシステムは、始める前にubuntuを使うかcentosを使うか考えたことがありますか?最後に、私はやはりcentosを選んだ.名前が少し大気を感じているからだ.
環境のインストール
rpm --import https://fedoraproject.org/static/0608B895.txt
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel- release-6-8.noarch.rpm
rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi- release-6.rpm
yum install yum-priorities
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
baseurl=http://mirrors.aliyun.com/epel/6/$basearch
http://mirrors.aliyuncs.com/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[remi]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
必要なパッケージファイルをインストールできます.
MySQLサーバーのインストール
yum install mysql mysql-server
-Nginxのインストール
yum install nginx
PHPおよび関連部品の取り付け
yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy php-pecl-apc
chkconfig --levels 235 mysqld on
service mysqld start
chkconfig --levels 235 nginx on
service nginx start
chkconfig --levels 235 php-fpm on
service php-fpm start
apachectl stop
yum remove httpd
chkconfig --level 235 httpd off
PHPの設定
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]
upload_の設定max_filesize最大ファイルアップロードサイズupload_max_filesizeは16 MBです.
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 16M
post_の設定max_sizeは32 MB:
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 32M
開く:vi/etc/php-fpm.d/www.conf :
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock;
および:
listen.owner = www
listen.group = www
listen.mode = 0660
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www
-以前からドメイン名を解析していたので、nginx仮想ホストを構成するだけです.
server {
listen 80;
server_を貼ります.name yourservername.com(解析が必要なドメイン名);index index.html index.htm index.php; set $root_path yourpath(プロジェクトエントリファイルの場所);root $root_path; try_files $uri $uri/@rewrite; location @rewrite { rewrite ^/(.*)$/index.php?_url=/$1; } location ~ .php { fastcgi_pass 127.0.0.1:9000; fastcgi_index/index.php; include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name;
}
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}
location ~ /\.ht {
deny all;
}
} -ここで注意が必要なのは、nginxを再起動したときに$documentを認識できないことです.root、fastcgiをparam SCRIPT_FILENAME $document_root$fastcgi_script_name;中の$document_rootはあなたのプロジェクトの入り口のファイルの位置に変えて、私はこの地方で長い間悩んで、半日やっと整理して、この解析規則は基本的に大部分のphpプロジェクトの解析を満たすことができます.
phpmyadminのインストール
よくあるエラー
if (! isset($_COOKIE[$session_name])) {
// on first start of session we check for errors
// f.e. session dir cannot be accessed - session file not created
$orig_error_count = $GLOBALS['error_handler']->countErrors();
//session_save_path('./tmp');
session_save_path("/tmp");
$r = session_start();
if ($r !== true
|| $orig_error_count != $GLOBALS['error_handler']->countErrors()
) {
setcookie($session_name, '', 1);
/*
* Session initialization is done before selecting language, so we
* can not use translations here.
*/
PMA_fatalError('Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.');
}
unset($orig_error_count);
} else {
session_save_path("/tmp");
session_start(); }
phalcon環境の構築
yum install gcc libtool make git
yum install php55w-devel
( php , phpinfo() )。
git clone git://github.com/phalcon/cphalcon.git
cd cphalcon/build
./install
、/usr/lib64/php/moudels/phalcon.so
vi phacon.ini
extension=phalcon.so
services php-fpm restart
私は/etc/init.d/php-fpm restartは半日も反応せず、ずっと再起動できなかった.半日パスワードを間違えたのか.
cgi.fix_pathinfo=0
cgi.fix_pathinfo=1
現在、サーバーの配置はこのようにして、基本的に小型プロジェクトの需要を満たすことができますが、nginxはバックグラウンドphpなどの解析には特に理想的ではありません.だから、私はもう数日前のバックグラウンドサーバーを分離するつもりです.フロントエンドはubuntu+nginx+mongodbで、バックグラウンドはapache 2+centos+mysql(postgresql)+phpで、最後にバックグラウンドは業務とデータの持続層の分離を実現します.データインタフェースとデータベースを別のサーバに配置し、分散アーキテクチャを実現します.
付録:
php-fpm : services php-fpm restart
nginx :services nginx restart /etc/init.d/nginx -s reload
chmod 777 -R ./
chrow www:www( : ) -R ./
メールボックスをzhoukai at dreamzk dot cnに送ってください
あ、最初の時間に返事します.ありがとうございます.転載は出典を表明してください.ありがとうございます.