Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm)+ MySQL5.5.0(phpmyadmin)-初心者向けの完全セットアップ-1パート

Centos5.5 Nginx 0.8.33 + PHP5.3.1(fpm)+ MySQL5.5.0(phpmyadmin)



最近、私の友人がIPNを購入しました。もちろん、彼は本格的なサーバーを展開したいと考えていました。さらに、初期リソースを考慮しました:768MBのメモリと彼のコンテナーに割り当てられた2つのコア、サーバーは貪欲で高速ではないはずです、ブログはそれを起動します。 私はnginxとphp + php-fpmをインストールすることにしました。 nginxについては説明しませんが、php + php-fpmのレビューはHabrにあります。 それが問題の全体的なポイントです。教科書のように、彼はすべてを正しくしたかったのです。 彼はフォーラムを見て、インターネット全体をグーグルで検索しましたが、正しいpatsianのマニュアルは見つかりませんでした。 どこでもサーバー設定とインストールの主要なポイント。 うまくいかないだろうと彼は言って、私のところに来ました。 1つの頭は良いですが、2つのビールを飲む方が良いです!

彼らは仕事に必要なものの計画を立て始めました。



! この投稿は、サーバーのインストールと構成の経験がない初心者を対象としています。 何を、どこで、どのようにインストールするかの例を理解し、マニュアルを掘り下げてファイルで武装し、タスクのためにすべてを実行します。

最低限、開始するには以下が必要です。

Putty-the.earth.li/~sgtatham/putty/latest/x86/putty.exe-SSHクライアント



Centos 5.5-後者はすでにサーバー上にあります。

Nginx 0.8.33-シニアリリースまたは安定版を選択できます。

PHP 5.3.1-問題はないと思います。

MySQL 5.5.0-ベース!

php-fpmパッチ

スホシンパッチ

libevent-1.4.13-stable



そして、サーバーのコンパイルと操作に必要な他のすべてのパッケージ:

gcc gcc-c ++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-develserblffl curl -devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel







私たちはルートの下で働いています。



1.最初に、EPELリポジトリをキャッチします。

EPELストレージは、有用なプログラムを含むFedora Coreチームによってサポートされています。 このリポジトリが追加されると、そこから必要なパッケージをすべてインストールし、将来的に一般的なシステム更新のために有効にすることができます。



 rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL 
      





rpm -ihv http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL









次に、バッグを確認してインストールします。





 yum -y install gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel 
      





yum -y install gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libmcrypt libmcrypt-devel pcre-devel









信頼性のためにもう一度:





yum -y update









古いものを削除する前に、正しいautoconf-2.13をインストールします





 yum remove autoconf cd /usr/local/src wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz tar -xzvf autoconf-2.13.tar.gz cd autoconf-2.13 ./configure make && make install 
      





yum remove autoconf cd /usr/local/src wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz tar -xzvf autoconf-2.13.tar.gz cd autoconf-2.13 ./configure make && make install









やばい





 cd /usr/local/src wget http://nginx.org/download/nginx-0.8.33.tar.gz wget http://ru.php.net/get/php-5.3.1.tar.gz/from/ru.php.net/mirror wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.0-m2.tar.gz/from/http://opensource.become.com/mysql/ wget http://download.suhosin.org/suhosin-patch-5.3.1-0.9.8.patch.gz wget http://launchpad.net/php-fpm/master/0.6/+download/php-fpm-0.6~5.3.1.tar.gz wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz 
      





cd /usr/local/src wget http://nginx.org/download/nginx-0.8.33.tar.gz wget http://ru.php.net/get/php-5.3.1.tar.gz/from/ru.php.net/mirror wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.0-m2.tar.gz/from/http://opensource.become.com/mysql/ wget http://download.suhosin.org/suhosin-patch-5.3.1-0.9.8.patch.gz wget http://launchpad.net/php-fpm/master/0.6/+download/php-fpm-0.6~5.3.1.tar.gz wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz









2. MySqL 5.5.0でインストールを開始します





 cd /usr/local/src tar -xzvf mysql-5.5.0-m2.tar.gz cd mysql-5.5.0-m2 ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-server-suffix=-enterprise-gpl --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=utf8 --with-collation=utf8_general_ci --with-pthread --enable-static --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-ndb-debug --enable-local-infile --with-readline --with-plugins=innobase make && make install 
      





cd /usr/local/src tar -xzvf mysql-5.5.0-m2.tar.gz cd mysql-5.5.0-m2 ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-comment=Source --with-server-suffix=-enterprise-gpl --with-mysqld-user=mysql --without-debug --with-big-tables --with-charset=utf8 --with-collation=utf8_general_ci --with-pthread --enable-static --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --without-ndb-debug --enable-local-infile --with-readline --with-plugins=innobase make && make install









インストールには時間がかかるため、ビールに切り替えてください!



すべてがうまくいけば、ユーザー、ベース、設定を行います:





 useradd mysql cd /usr/local/mysql bin/mysql_install_db --user=mysql chown -R root:mysql . #   !!! chown -R mysql /var/lib/mysql chgrp -R mysql . #     !!! cp share/mysql/my-medium.cnf /etc/my.cnf cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld chmod 755 /etc/rc.d/init.d/mysqld chkconfig --add mysqld echo "/usr/local/mysql/lib" >> /etc/ld.so.conf && ldconfig /etc/rc.d/init.d/mysqld start #   bin/mysqladmin -u root password "123456" #  !!! service mysqld stop 
      





useradd mysql cd /usr/local/mysql bin/mysql_install_db --user=mysql chown -R root:mysql . # !!! chown -R mysql /var/lib/mysql chgrp -R mysql . # !!! cp share/mysql/my-medium.cnf /etc/my.cnf cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld chmod 755 /etc/rc.d/init.d/mysqld chkconfig --add mysqld echo "/usr/local/mysql/lib" >> /etc/ld.so.conf && ldconfig /etc/rc.d/init.d/mysqld start # bin/mysqladmin -u root password "123456" # !!! service mysqld stop









3. PHP 5.3.1-パッチを適用してコンパイルします。



www.hardened-php.net/suhosin/index.html

ロールバックすることを忘れないでください



cd /usr/local/src









 tar -xvzf php-5.3.1.tar.gz gunzip suhosin-patch-5.3.1-0.9.8.patch.gz cd php-5.3.1 patch -p 1 -i ../suhosin-patch-5.3.1-0.9.8.patch ./buildconf --force 
      





tar -xvzf php-5.3.1.tar.gz gunzip suhosin-patch-5.3.1-0.9.8.patch.gz cd php-5.3.1 patch -p 1 -i ../suhosin-patch-5.3.1-0.9.8.patch ./buildconf --force









パッチphp-fpmをインストールするには、最初にlibeventをコンパイルします





 cd /usr/local/src tar -zxvf "libevent-1.4.13-stable.tar.gz" cd "libevent-1.4.13-stable" ./configure && make make install 
      





cd /usr/local/src tar -zxvf "libevent-1.4.13-stable.tar.gz" cd "libevent-1.4.13-stable" ./configure && make make install









その後、いくつかの子供のトリック、akhalai-mahalai





 export PHP_VER=5.3.1 cd /usr/local/src tar -zxvf "php-fpm-0.6~$PHP_VER.tar.gz" "php-fpm-0.6-$PHP_VER/generate-fpm-patch" cd "php-$PHP_VER" patch -p1 < ../fpm.patch ./buildconf --force 
      





export PHP_VER=5.3.1 cd /usr/local/src tar -zxvf "php-fpm-0.6~$PHP_VER.tar.gz" "php-fpm-0.6-$PHP_VER/generate-fpm-patch" cd "php-$PHP_VER" patch -p1 < ../fpm.patch ./buildconf --force









パッチが適用され改善されたpkhpのインストールに進みます





 cd /usr/local/src/php-5.3.1 mkdir fpm-build && cd fpm-build ../configure --prefix=/usr/local/webserver/php --with-pear=/usr/share/php --with-zlib-dir --with-bz2 --with-libxml-dir=/usr --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-ttf=shared,/usr --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/etc --with-iconv --enable-static --enable-zend-multibyte --enable-inline-optimization --enable-sockets --enable-soap --with-openssl --with-gettext --enable-sysvsem --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --with-mcrypt --with-curl --with-curlwrappers --enable-mbregex --enable-bcmath --enable-shmop --enable-suhosin --with-fpm --with-libevent=shared,/usr/local/lib make && make install cp php.ini.default /etc/php.ini echo "/usr/local/webserver/php/lib" >> /etc/ld.so.conf && ldconfig 
      





cd /usr/local/src/php-5.3.1 mkdir fpm-build && cd fpm-build ../configure --prefix=/usr/local/webserver/php --with-pear=/usr/share/php --with-zlib-dir --with-bz2 --with-libxml-dir=/usr --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-ttf=shared,/usr --enable-mbstring --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/etc --with-iconv --enable-static --enable-zend-multibyte --enable-inline-optimization --enable-sockets --enable-soap --with-openssl --with-gettext --enable-sysvsem --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --with-mcrypt --with-curl --with-curlwrappers --enable-mbregex --enable-bcmath --enable-shmop --enable-suhosin --with-fpm --with-libevent=shared,/usr/local/lib make && make install cp php.ini.default /etc/php.ini echo "/usr/local/webserver/php/lib" >> /etc/ld.so.conf && ldconfig









すべてがインストールされていますか? その後、PHPが終了しました。



3.a. Web用のフォルダーを持つグループとユーザーを作成します。





 /usr/sbin/groupadd www -g 48 /usr/sbin/useradd -u 48 -g www www mkdir -p /website/htdocs/blog chmod +w /website/htdocs/blog chown -R www:www /website/htdocs/blog mkdir -p /website/htdocs/www chmod +w /website/htdocs/www chown -R www:www /website/htdocs/www 
      





/usr/sbin/groupadd www -g 48 /usr/sbin/useradd -u 48 -g www www mkdir -p /website/htdocs/blog chmod +w /website/htdocs/blog chown -R www:www /website/htdocs/blog mkdir -p /website/htdocs/www chmod +w /website/htdocs/www chown -R www:www /website/htdocs/www









php-fpmを構成します。





 mkdir /usr/local/webserver/php/logs cp /usr/local/src/php-fpm-0.6-5.3.1/conf/php-fpm.conf.in /usr/local/webserver/php/etc/php-fpm.conf vi /usr/local/webserver/php/etc/php-fpm.conf 
      





mkdir /usr/local/webserver/php/logs cp /usr/local/src/php-fpm-0.6-5.3.1/conf/php-fpm.conf.in /usr/local/webserver/php/etc/php-fpm.conf vi /usr/local/webserver/php/etc/php-fpm.conf









構成ファイル自体:





 <?xml version="1.0" ?> <configuration> All relative paths in this config are relative to php's install prefix <section name="global_options"> Pid file <value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value> Error log file <value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value> Log level <value name="log_level">notice</value> When this amount of php processes exited with SIGSEGV or SIGBUS ... <value name="emergency_restart_threshold">10</value> ... in a less than this interval of time, a graceful restart will be initiated. Useful to work around accidental curruptions in accelerator's shared memory. <value name="emergency_restart_interval">1m</value> Time limit on waiting child's reaction on signals from master <value name="process_control_timeout">5s</value> Set to 'no' to debug fpm <value name="daemonize">yes</value> </section> <workers> <section name="pool"> Name of pool. Used in logs and stats. <value name="name">default</value> Address to accept fastcgi requests on. Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket' <value name="listen_address">127.0.0.1:9000</value> <value name="listen_options"> Set listen(2) backlog <value name="backlog">-1</value> Set permissions for unix socket, if one used. In Linux read/write permissions must be set in order to allow connections from web server. Many BSD-derrived systems allow connections regardless of permissions. <value name="owner"></value> <value name="group"></value> <value name="mode">0666</value> </value> Additional php.ini defines, specific to this pool of workers. These settings overwrite the values previously defined in the php.ini. <value name="php_defines"> <!-- <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> --> <value name="display_errors">1</value> <!-- <value name="error_log">/var/log/php-error.log</value> --> <!-- <value name="log_errors">true</value> --> </value> Unix user of processes <value name="user">www</value> Unix group of processes <value name="group">www</value> Process manager settings <value name="pm"> Sets style of controling worker process count. Valid values are 'static' and 'apache-like' <value name="style">static</value> Sets the limit on the number of simultaneous requests that will be served. Equivalent to Apache MaxClients directive. Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi Used with any pm_style. <value name="max_children">128</value> Settings group for 'apache-like' pm style <value name="apache_like"> Sets the number of server processes created on startup. Used only when 'apache-like' pm_style is selected <value name="StartServers">20</value> Sets the desired minimum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MinSpareServers">5</value> Sets the desired maximum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MaxSpareServers">35</value> </value> </value> The timeout (in seconds) for serving a single request after which the worker process will be terminated Should be used when 'max_execution_time' ini option does not stop script execution for some reason '0s' means 'off' <value name="request_terminate_timeout">0s</value> The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file '0s' means 'off' <value name="request_slowlog_timeout">0s</value> The log file for slow requests <value name="slowlog">logs/slow.log</value> Set open file desc rlimit <value name="rlimit_files">51200</value> Set max core size rlimit <value name="rlimit_core">0</value> Chroot to this directory at the start, absolute path <value name="chroot"></value> Chdir to this directory at the start, absolute path <value name="chdir"></value> Redirect workers' stdout and stderr into main error log. If not set, they will be redirected to /dev/null, according to FastCGI specs <value name="catch_workers_output">yes</value> How much requests each process should execute before respawn. Useful to work around memory leaks in 3rd party libraries. For endless request processing please specify 0 Equivalent to PHP_FCGI_MAX_REQUESTS <value name="max_requests">10240</value> Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect. Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+) Makes sense only with AF_INET listening socket. <value name="allowed_clients">127.0.0.1</value> Pass environment variables like LD_LIBRARY_PATH All $VARIABLEs are taken from current environment <value name="environment"> <value name="HOSTNAME">$HOSTNAME</value> <value name="PATH">/usr/local/bin:/usr/bin:/bin</value> <value name="TMP">/tmp</value> <value name="TMPDIR">/tmp</value> <value name="TEMP">/tmp</value> <value name="OSTYPE">$OSTYPE</value> <value name="MACHTYPE">$MACHTYPE</value> <value name="MALLOC_CHECK_">2</value> </value> </section> </workers> </configuration> 
      







<?xml version="1.0" ?> <configuration> All relative paths in this config are relative to php's install prefix <section name="global_options"> Pid file <value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value> Error log file <value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value> Log level <value name="log_level">notice</value> When this amount of php processes exited with SIGSEGV or SIGBUS ... <value name="emergency_restart_threshold">10</value> ... in a less than this interval of time, a graceful restart will be initiated. Useful to work around accidental curruptions in accelerator's shared memory. <value name="emergency_restart_interval">1m</value> Time limit on waiting child's reaction on signals from master <value name="process_control_timeout">5s</value> Set to 'no' to debug fpm <value name="daemonize">yes</value> </section> <workers> <section name="pool"> Name of pool. Used in logs and stats. <value name="name">default</value> Address to accept fastcgi requests on. Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket' <value name="listen_address">127.0.0.1:9000</value> <value name="listen_options"> Set listen(2) backlog <value name="backlog">-1</value> Set permissions for unix socket, if one used. In Linux read/write permissions must be set in order to allow connections from web server. Many BSD-derrived systems allow connections regardless of permissions. <value name="owner"></value> <value name="group"></value> <value name="mode">0666</value> </value> Additional php.ini defines, specific to this pool of workers. These settings overwrite the values previously defined in the php.ini. <value name="php_defines"> <!-- <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> --> <value name="display_errors">1</value> <!-- <value name="error_log">/var/log/php-error.log</value> --> <!-- <value name="log_errors">true</value> --> </value> Unix user of processes <value name="user">www</value> Unix group of processes <value name="group">www</value> Process manager settings <value name="pm"> Sets style of controling worker process count. Valid values are 'static' and 'apache-like' <value name="style">static</value> Sets the limit on the number of simultaneous requests that will be served. Equivalent to Apache MaxClients directive. Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi Used with any pm_style. <value name="max_children">128</value> Settings group for 'apache-like' pm style <value name="apache_like"> Sets the number of server processes created on startup. Used only when 'apache-like' pm_style is selected <value name="StartServers">20</value> Sets the desired minimum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MinSpareServers">5</value> Sets the desired maximum number of idle server processes. Used only when 'apache-like' pm_style is selected <value name="MaxSpareServers">35</value> </value> </value> The timeout (in seconds) for serving a single request after which the worker process will be terminated Should be used when 'max_execution_time' ini option does not stop script execution for some reason '0s' means 'off' <value name="request_terminate_timeout">0s</value> The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file '0s' means 'off' <value name="request_slowlog_timeout">0s</value> The log file for slow requests <value name="slowlog">logs/slow.log</value> Set open file desc rlimit <value name="rlimit_files">51200</value> Set max core size rlimit <value name="rlimit_core">0</value> Chroot to this directory at the start, absolute path <value name="chroot"></value> Chdir to this directory at the start, absolute path <value name="chdir"></value> Redirect workers' stdout and stderr into main error log. If not set, they will be redirected to /dev/null, according to FastCGI specs <value name="catch_workers_output">yes</value> How much requests each process should execute before respawn. Useful to work around memory leaks in 3rd party libraries. For endless request processing please specify 0 Equivalent to PHP_FCGI_MAX_REQUESTS <value name="max_requests">10240</value> Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect. Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+) Makes sense only with AF_INET listening socket. <value name="allowed_clients">127.0.0.1</value> Pass environment variables like LD_LIBRARY_PATH All $VARIABLEs are taken from current environment <value name="environment"> <value name="HOSTNAME">$HOSTNAME</value> <value name="PATH">/usr/local/bin:/usr/bin:/bin</value> <value name="TMP">/tmp</value> <value name="TMPDIR">/tmp</value> <value name="TEMP">/tmp</value> <value name="OSTYPE">$OSTYPE</value> <value name="MACHTYPE">$MACHTYPE</value> <value name="MALLOC_CHECK_">2</value> </value> </section> </workers> </configuration>











4. Nginx !!! インストールを開始する前に、コンパイルする前にファイルに変更を加えます。





 cd /usr/local/src tar zxvf nginx-0.8.33.tar.gz cd nginx-0.8.33 
      





cd /usr/local/src tar zxvf nginx-0.8.33.tar.gz cd nginx-0.8.33









 vi nginx-0.8.33/src/core/nginx.h   #define NGINX_VERSION "0.8.33" #define NGINX_VER "nginx/" NGINX_VERSION       -    #define NGINX_VERSION "10.50.0" #define NGINX_VER "  /" NGINX_VERSION 
      





vi nginx-0.8.33/src/core/nginx.h #define NGINX_VERSION "0.8.33" #define NGINX_VER "nginx/" NGINX_VERSION - #define NGINX_VERSION "10.50.0" #define NGINX_VER " /" NGINX_VERSION









 vi nginx-0.8.33/src/http/ngx_http_header_filter_module.c   static char ngx_http_server_string[] = "Server: nginx" CRLF;       -    static char ngx_http_server_string[] = "Server:   " CRLF; 
      





vi nginx-0.8.33/src/http/ngx_http_header_filter_module.c static char ngx_http_server_string[] = "Server: nginx" CRLF; - static char ngx_http_server_string[] = "Server: " CRLF;









 vi nginx-0.8.33/src/http/ngx_http_special_response.c   static u_char ngx_http_error_full_tail[] = "<hr><center>" NGINX_VER "</center>" CRLF "</body>" CRLF "</html>" CRLF ; static u_char ngx_http_error_tail[] = "<hr><center>nginx</center>" CRLF "</body>" CRLF "</html>" CRLF ;       -    static u_char ngx_http_error_full_tail[] = "<hr><center> "NGINX_VER" </center>" CRLF "<hr><center>http://www.  .com</center>" CRLF "</body>" CRLF "</html>" CRLF ; static u_char ngx_http_error_tail[] = "<hr><center>  </center>" CRLF "</body>" CRLF "</html>" CRLF ; 
      





vi nginx-0.8.33/src/http/ngx_http_special_response.c static u_char ngx_http_error_full_tail[] = "<hr><center>" NGINX_VER "</center>" CRLF "</body>" CRLF "</html>" CRLF ; static u_char ngx_http_error_tail[] = "<hr><center>nginx</center>" CRLF "</body>" CRLF "</html>" CRLF ; - static u_char ngx_http_error_full_tail[] = "<hr><center> "NGINX_VER" </center>" CRLF "<hr><center>http://www. .com</center>" CRLF "</body>" CRLF "</html>" CRLF ; static u_char ngx_http_error_tail[] = "<hr><center> </center>" CRLF "</body>" CRLF "</html>" CRLF ;









設定でNginxをインストールします。





 ./configure \ "--user=www" \ "--group=www" \ "--prefix=/usr/local/nginx/" \ "--with-http_stub_status_module" \ "--with-http_ssl_module" \ make make install 
      





./configure \ "--user=www" \ "--group=www" \ "--prefix=/usr/local/nginx/" \ "--with-http_stub_status_module" \ "--with-http_ssl_module" \ make make install









必要なディレクトリを作成します





 mkdir -p /website/logs chmod +w /website/logs chown -R www:www /website/logs 
      





mkdir -p /website/logs chmod +w /website/logs chown -R www:www /website/logs









新しい構成を作成する





 rm -f /usr/local/webserver/nginx/conf/nginx.conf vi /usr/local/webserver/nginx/conf/nginx.conf 
      





rm -f /usr/local/webserver/nginx/conf/nginx.conf vi /usr/local/webserver/nginx/conf/nginx.conf









構成を挿入します





 user www www; worker_processes 8; error_log /website/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; #charset gb2312; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 8m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; #limit_zone crawler $binary_remote_addr 10m; server { listen 80; server_name site.ru www.site.ru; index index.html index.htm index.php; root /website/htdocs/www; #limit_conn crawler 20; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } } } 
      





user www www; worker_processes 8; error_log /website/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; #charset gb2312; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 8m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; #limit_zone crawler $binary_remote_addr 10m; server { listen 80; server_name site.ru www.site.ru; index index.html index.htm index.php; root /website/htdocs/www; #limit_conn crawler 20; location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } } }









4.a. フォルダ/ usr / local / webserver / nginx / confに/新しい設定ファイルfcgi.confを作成します





 fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200; 
      





fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; # PHP only, required if PHP was built with --enable-force-cgi-redirect fastcgi_param REDIRECT_STATUS 200;









5. /etc/rc.local addファイルで自動起動します





 ulimit -SHn 65535 /usr/local/webserver/php/bin/php-fpm start /usr/local/webserver/nginx/sbin/nginx 
      





ulimit -SHn 65535 /usr/local/webserver/php/bin/php-fpm start /usr/local/webserver/nginx/sbin/nginx









すべてが設定され、動作する準備ができています!!!





6. phpMyAdmin-データベースの管理パネルを設定すると同時に、サーバーの動作を確認します。





 cd /usr/local/src wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.3/phpMyAdmin-3.3.3-english.tar.gz/download tar xzvf phpMyAdmin-3.3.3-english.tar.gz mv phpMyAdmin-3.3.3-english /website/htdocs/www/phpmyadmin cd /website/htdocs/www/phpmyadmin mkdir config chmod o+rw config cp config.sample.inc.php config/config.inc.php chmod o+w config/config.inc.php 
      





cd /usr/local/src wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.3.3/phpMyAdmin-3.3.3-english.tar.gz/download tar xzvf phpMyAdmin-3.3.3-english.tar.gz mv phpMyAdmin-3.3.3-english /website/htdocs/www/phpmyadmin cd /website/htdocs/www/phpmyadmin mkdir config chmod o+rw config cp config.sample.inc.php config/config.inc.php chmod o+w config/config.inc.php









site.ru / phpmyadmin / setup /を構成するために行きます



すべてのセットアップ、インストール済み。 あなたのsite.ru / phpmyadminにログインしました





トラックを掃引した後





 mv config/config.inc.php . chmod 744 config.inc.php rm -rf config 
      





mv config/config.inc.php . chmod 744 config.inc.php rm -rf config









これは、おおよその完全なサーバーセットアップのようです。

リクエストに応じて、すべての構成を構成し、必要に応じてすべてを追加および再コンパイルします。

基本的な考え方は、すでに多かれ少なかれ明確です。



次の公開では、nginx.initdをクイックスタート|ストップ|リスタート| force-reloadで制御する方法について説明しますNginx自体



ありがとう がんばって。



All Articles