インストールリファレンス:
CentOS 6.3 のコンパイルとインストール Nginx1.2.2+MySQL5.5.25a+PHP5.4.5http://www.dedecms.com/knowledge/servers/linux-bsd/2012/0819/8411.html
独自のコンパイルとインストールのメモを記録します:
準備:
1. IP、DNS、およびゲートウェイを構成し、リモート接続ツールを使用してサーバーに接続できることを確認します
CentOS の IP アドレス、ゲートウェイ、 DNS チュートリアル:
2. ファイアウォールを設定し、ポート 80、ポート 3306 をオンにします
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #ポート 80 のファイアウォール通過を許可します
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #ポート 3306 のファイアウォール通過を許可します
特別な注意事項: 多くのネチズンは次のように付け加えていますこれら 2 つのルールをファイアウォール設定の最後の行に追加すると、ファイアウォールの起動に失敗します。これはデフォルトのポート 22 ルールの最後に追加されます
追加後のファイアウォール ルールは次のとおりです:
Warmシステムの運用とメンテナンスに関する注意事項: qihang01 のオリジナル コンテンツは著作権で保護されています。転載する場合は、ソースと元のリンクを明記してください
###### ################## ######################### #
# system-config-firewall によって記述されたファイアウォール構成
# このファイルを手動でカスタマイズすることはお勧めできません。
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0 :0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
## ###################### ######################### #####
/etc/init.d/iptables restart #最後にファイアウォールを再起動して構成を有効にします効果
3. SELINUX をオフにする
vi /etc/selinux/config
#SELINUX=enforcing #コメントアウト
#SELINUXTYPE=targeted #コメントを削除
SELINUX=disabled #Add
:wq 保存して閉じる
shutdown -r now #Restartシステム
4. システム規約
ソフトウェア ソース コード パッケージの保存場所: /usr/local/src
ソース コード パッケージのコンパイルとインストールの場所: /usr/local/ソフトウェア名
5. ソフトウェア パッケージをダウンロードします
1.現在安定版)
2. pcre をダウンロードします (nginx 擬似静的をサポートします)
4. MySQL をダウンロードします
6. cmake (MySQL コンパイル ツール) をダウンロードします
7. libmcrypt (PHPlibmcrypt モジュール) をダウンロードします
6. コンパイル ツールとライブラリ ファイルをインストールします (CentOS yum コマンドを使用してインストールします)
yum -y install make apr* autoconf automakecurl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils パッチ perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib- libxpm
cd /usr/local/srctar zxvf cmake-2.8.8.tar.gz
cd cmake-2.8.8./configure
make #Compile
yum cmake
を使用してインストールしました
========= ========================================= ========
ここで mysql をインストールする目的は、後の拡張のために pdo_mysql をコンパイルすることなので、いくつかの簡単な手順だけを設定します:
groupadd mysql #Mysql グループを追加するuseradd -g mysql mysql - s /bin/false #ユーザー mysql を作成し、mysql グループに参加します。Mysql ユーザーはシステムに直接ログインできません
mkdir -p /data/mysql #MySQL データベースの保存ディレクトリを作成しますchown -R mysql:mysql /data/mysql #Set MySQL データベース ディレクトリのアクセス許可
mkdir -p /usr/local/mysql #MySQL インストール ディレクトリを作成cd /usr/local/src
tar zxvf mysql-5.6.13.tar.gz #解凍cd mysql-5.6.13
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DINSTALL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1
パラメータの説明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //インストールディレクトリ
-DINSTALL_DATADIR=/usr/local/mysql/data //データベース格納ディレクトリ
-DDEFAULT_CHARSET=utf8 //utf 8文字を使用
-DDEFAULT_COLLATION=utf8_general_ci //チェックCharacter-DEXTRA_CHARSETS = All // すべての拡張文字セットをインストールします
-Denabled_local_infile = 1 // データのインポートを許可します
#Make
#
字字字
字Bleak mkdir /usr/local/pcre #インストールディレクトリの作成
tar zxvf pcre-8.33.tar.gz
cd pcre-8.33
./configure --prefix=/usr/local/pcre #Configure
make
インストールする
= ============================================= ===== ====
Nginx をインストール
cd /usr/local/src
useradd -g www www -s /bin/false #nginx 実行アカウントを作成 www して参加www グループ、www ユーザーはシステムに直接ログインできません
tar zxvf nginx-1.2.2.tar.gz
cd nginx-1.2.2
./configure --prefix=/usr/local/nginx --without- http_memcached_module --user=www -- group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.31
注: --with-pcre= /usr/local/src/pcre -8.31 は、インストール パスではなく、ソース パッケージを解凍するためのパスを指します。それ以外の場合は、エラーが報告されます
make
make install
/usr/local/nginx/sbin/nginx #Start nginx
nginxの起動設定
vi /etc/rc .d/init.d/nginx #編集用スタートアップファイルを新規作成し、以下の内容を追加
================ ================ =======================
#!/bin/bash
# nginx の起動Nginx HTTP サーバーのスクリプト
# v.0.0.2 バージョンです。
# chkconfig: - 85 15
# description: Nginx は高性能の Web およびプロキシ サーバーです。
# 多くの機能がありますが、全員向けではありません。
# processname: nginx
# pidfile: /var/ run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
# ソース関数ライブラリ
/etc. /rc.d/init.d/functions
# ソースネットワーク構成
。/etc/sysconfig/network
# ネットワークが稼働していることを確認します。
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# nginx デーモン関数を開始します。
start () {
if [ -e $nginx_pid ];then
echo "nginx はすでに実行されています...."
exit 1
fi
echo -n $ "Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# nginx を停止しますデーモン関数.
stop() {
echo -n $"$ prog を停止しています: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx / usr/local/nginx/logs/nginx.pid
}
reload( ) {
echo -n $"$prog を再読み込み中: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL= $?
echo
}
# 私たちがどのように呼ばれたかをご覧ください。
case "$1" in
start)
start
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$ ?
;;
echo $"使用法: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
$RETVAL を終了します
============ ================================= ===========
:wq! #保存終了
chmod 775 /etc/rc.d/init.d/nginx #ファイル実行許可を与える
chkconfig nginx on #スタートアップを設定
service nginx restart
================================= =================== ======
5. libmcrypt🎜cd /usr/local/src🎜tar zxvf libmcrypt-2.5.8.tar.gz をインストールします。 #Unzip🎜cd libmcrypt-2.5.8 #ディレクトリに入る🎜./configure #Configure🎜make #Compile🎜makeinstall #Install🎜 🎜==================== ====================== ===============🎜 🎜phpをインストールする🎜./configure --prefix=/usr/local/php-5.4.17 --with-config-file-path=/usr/local/php-5.4.17/etc --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fpm --enable -mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without- pear --with-gettext --enable-session --with-curl
&&--enable-sysvmsg --enable-sysvsem --enable-sysvshm #アプリケーションが開く必要があるシステム モジュールがいくつかあります。私は後でコンパイルします。インストールでは *
が追加されませんでしたcp php.ini-production /usr/local/php5/etc/php.ini #php 設定ファイルをインストール ディレクトリにコピーします
rm -rf /etc/php.ini # システムの独自の設定ファイル
ln -s /usr/local/php5/etc/php.ini /etc/php.ini #ソフトリンクの追加
cp /usr/local/php5/etc/php-fpm.conf.default /usr/ local/php5/etc/php-fpm.conf #テンプレートファイルをphp-fpm設定ファイルにコピーします
vi /usr/local/php5/etc/php-fpm.conf #Edit
user = www #Set php- fpm 実行アカウントは www
group = www #php-fpm 実行グループを www
pid = run/php-fpm.pid として設定します #前のセミコロンをキャンセルします
boot で開始するように php-fpm を設定します
cp /usr/local/ src/ php-5.4.5/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #php-fpmを起動ディレクトリにコピー
chmod +x /etc/rc .d/ init.d/php-fpm #実行権限を追加
chkconfig php-fpm on #スタートアップをセットアップ
vi /usr/local/php5/etc/php.ini #設定ファイルを編集
検索: disable_functions =
変更: disable_functions = passthru、exec、system、chroot、scandir、chgrp、chown、shell_exec、proc_open、proc_get_status、ini_alter、ini_alter、ini_restore、dl、openlog、syslog、readlink、symlink、popepassthru、stream_socket_server、escapeshellcmd、dll、popen、disk_free_space 、checkdnsrr、checkdnsrr、getservbyname、getservbyport、disk_total_space、posix_ctermid、posix_get_last_error、posix_getcwd、posix_getegid、posix_geteuid、posix_getgid、posix_getgrgid、posix_getgrnam、posix_getgroups、posix_getlogin、posix_getpgid、posix_getpgrp、 posix_getpid、ix_getppid、posix_getpwnam、posix_getpwuid、posix_getrlimit、posix_getsid、posix_getuid、posix_isatty , posix_kill, posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#一部のプログラムでこの関数を使用する必要がある場合は、削除して実行できます。障害者ではない。
システムの運用とメンテナンスに関する注意事項: qihang01 のオリジナル コンテンツは著作権で保護されています。再印刷する場合は、ソースと元のリンクを示してください。 = On
に変更:expose_php = OFF #php バージョン情報の表示を抑制
検索: short_open_tag = Off
変更: short_open_tag = ON #php の短いタグをサポート
7. php
vi /usr/local/ をサポートするように nginx を設定します。 nginx/conf/nginx.conf #設定ファイルを編集します。次の変更を行う必要があります
indexindex.phpindex.htmlindex.htm# 127.0.0.1:9000 でリッスンしている FastCGI サーバーに PHP スクリプトを渡します
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#FastCGI サーバー パーツの場所のコメントを解除し、fastcgi_param 行パラメータに注意してください。$document_root$fastcgi_script_name に変更するか、絶対パスを使用してください
/etc/init.d/nginx restart #nginx
テスト セクションを再起動します
cd /usr/local/nginx/html/ #nginxのデフォルトWebサイトのルートディレクトリを入力します
rm -rf / usr/local/nginx/html/* #デフォルトのテストページを削除します
viindex.php #Edit
phpinfo();
?>
:wq! #保存して終了
chown /usr/local/nginx /html/ -R #ディレクトリの所有者を設定
chmod 700 /usr/local/nginx/html/ -R #Setディレクトリ権限
shutdown -r now#システム再起動
サーバー関連操作コマンド
service nginx restart #nginx再起動
service mysqld restart #mysql再起動
/etc/rc.d/init.d/php-fpm restart #php-fpm
を再起動/etc/rc .d/init.d/php-fpm stop #php-fpm
/etc/rc.d/initを停止.d/php-fpm start #php-fpm の開始
############ ######################### ##################### ##################
注:
nginx のデフォルトのサイト ディレクトリは: /usr /local/nginx/html/
権限設定: chown /usr/local/nginx/html/ -R
MySQLデータベースディレクトリは: /data/mysql
権限設定: chown mysql.mysql -R /data/mysql
これで以上で、CentOS 6.4のコンパイルとNginx1.4.2+MySQL5.6.13+PHP5.4.17のインストールが完了しました