Nginx+php (FastCGI)+Memcached+MySQL+APC ist die aktuelle Mainstream-Methode zum Aufbau von Hochleistungsservern! Geeignet für große und mittelgroße Websites, auch kleine Webmaster können diese Kombination nutzen!
Nginx übertrifft Apache in Bezug auf hohe Leistung und Stabilität, und immer mehr inländische Websites verwenden Nginx als Webserver, darunter die größte inländische elektronische Karte MapBar, Sina Blog, Sina Podcast, NetEase News und andere Portalkanäle, sechs Räume, 56.com und andere Video-Sharing-Websites, Discuz! Bekannte Foren wie offizielle Foren und die Shuimu Community, aufstrebende Web 2.0-Websites wie Douban, YUPOO Photo Album, Domestic SNS und Thunder Online sowie weitere Websites verwenden die Nginx-Konfiguration.
Laden Sie das erforderliche Installationspaket herunter: Hier verwenden wir das Quellcodepaket zum Kompilieren und Installieren: Dieser Blog integriert den Download
http://wgkgood.gicp.net/download/nginx-0.7.61.tar.gz
http://wgkgood.gicp.net/download/pcre-8.01.tar.gz
http://wgkgood.gicp.net/download/memcache-2.2.5.tgz
http://wgkgood.gicp.net/download/libevent-1.4.12-stable.tar.gz
http://wgkgood.gicp.net/download/APC-3.1.4.tgz
Nach /usr/src herunterladen
Es gibt auch zwei Pakete mysql-5.1.41.tar.gz und php-5.3.5.tar.gz [Andere ähnliche Versionen sind ebenfalls verfügbar! 】Kann von der offiziellen Website heruntergeladen werden.
1. Installieren Sie Nginx offiziell. [Bevor Sie Nginx installieren, müssen Sie das PCRE-Paket und Zlib installieren, um Umschreiben, Regularisierung, Webseitenkomprimierung usw. zu unterstützen.]
cd /usr/src
tar xzf pcre-8.01.tar.gz
cdpcre-8.01
./configure –PRefix=/usr/local/pcre
machen
make installieren
(2) und installieren Sie dann Nginx:
useradd www && cd /usr/src && tar xzf nginx-0.7.61.tar.gz &&cd nginx-0.7.61 && ./configure –prefix=/usr/local/nginx –with-http_stub_status_module –with-openssl=/usr / –with-pcre=/usr/src/pcre-8.01 –user=www –group=www &&make &&make install
[nginx note* –with-pcre=/usr/src/pcre-8.01 zeigt auf den Pfad zum Dekomprimieren des Quellcodepakets, nicht auf den Installationspfad, sonst wird gemeldet
make[1]: ***[/usr/local/pcre/Makefile] Fehler 127 Fehler】
2. Als nächstes installieren Sie MySQL
cd /usr/src && tar xzf mysql-5.1.41.tar.gz && cd mysql-5.1.41 && ./configure –prefix=/usr/local/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=innobase && make &&make install
(2) Erstellen Sie nach der Installation von MySQL den MySQL-Benutzer und die MySQL-Gruppe, initialisieren Sie die Datenbank und starten Sie die Datenbank.
cd /usr/local/mysql && useradd mysql && chown -R mysql:mysql /usr/local/mysql && /usr/local/mysql/bin/mysql_install_db –user=mysql && chown -R mysql:mysql var/ && ./ bin/mysqld_safe –user=mysql &
Das ist es. [Wenn beim Start von MySQL ein Fehler auftritt, überprüfen Sie bitte das Verzeichnis /usr/local/mysql/var, um festzustellen, ob MySQL über Berechtigungen verfügt.]
3. PHP installieren:
cd /usr/src &&tar xzf php-5.3.5.tar.gz && cd php-5.3.5 && ./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/ php/etc –with-mysql=/usr/local/mysql –with-mysqli=/u
sr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-li
bxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem
–enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fpm –enable-sockets && make &&make install
Installation abgeschlossen! [Beachten Sie, dass –enable-fastcgi hier nicht hinzugefügt werden muss; andere frühere Versionen müssen es nach Ihrer eigenen Wahl hinzufügen. Wenn ein Fehler gemeldet wird, finden Sie die Ursache spezifischer Fehlerbericht]
4. Integrieren Sie Nginx und PHP (FastCGI), um FastCGI nach der Installation von PHP-5.3.5 zu unterstützen
Benutzer www www;
worker_processes 8;
error_log /usr/local/logs/nginx/error.log crit;
pid /usr/local/nginx/nginx.pid;
#Gibt den Wert für maximale Dateideskriptoren an, die von diesem Prozess geöffnet werden können.
worker_rlimit_nofile 51200;
Ereignisse
{
benutze epoll;
worker_connections 51200;
}
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
{
Hören Sie 80;
Servername wgkgood.gicp.net;
index index.php index.htm index.html;
root /usr/webapps/www;
#limit_conn-Crawler 20;
Standort ~ .*.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fcgi.conf einschließen;
}
Standort ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
läuft 30 Tage ab;
}
Standort ~ .*.(js|css)?$
{
läuft 1 Stunde ab;
}
log_format Zugriff '$remote_addr – $remote_user [$time_local] „$request“ '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
access_log /usr/local/logs/nginx/access.log access;
}
}
Nginx-Konfiguration abgeschlossen! Starten Sie nginx; /usr/local/nginx/sbin/nginx. Der Befehl zum Neustart von nginx lautet wie folgt: /usr/local/nginx/sbin/nginx –s reload
Diese Konfigurationsdatei dient nur als Referenz. Vielen Dank, Lehrer Zhang Yan!
(2) Konfigurieren Sie die Datei fcgi.conf wie folgt
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;
# Nur PHP, erforderlich, wenn PHP mit –enable-force-cgi-redirect erstellt wurde
fastcgi_param REDIRECT_STATUS 200;
5. Konfigurieren Sie die PHP-Konfigurationsdatei:
cd /usr/local/php5/etc/ && cp php-fpm.conf.default php-fpm.conf
Ändern Sie dann die Optionen in php-fpm.conf entsprechend den Eingabeaufforderungen.
Nachdem die Konfiguration abgeschlossen ist, starten Sie php-fpm
Der folgende cp /usr/src/php-5.3.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Dann starten Sie /etc/init.d/php-fpm start.
6. Installieren Sie die APC-Konfiguration:
cd /usr/src && tar xzf APC-3.1.4.tgz &&cd APC-3.1.4
/usr/local/php5/bin/phpize
./configure –enable-apc –enable-apc-mmap –with-php-config=/usr/local/php5/bin/php-config
&&make&& make install
Nach der Installation wird eine apc.so in /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ generiert.
7. Installieren Sie Memcached, damit fastcGI Memcached unterstützt
Installieren Sie zuerst libevent.
cd /usr/src && tar xzf libevent-1.4.12-stable.tar.gz && cd libevent-1.4.12-stable && ./configure –prefix=/usr/local/libevent &&make && make install
Dann installieren Sie memcached
tar xzf memcache-2.2.5.tar.gz && cd memcache-2.2.5 && /usr/local/php5/bin/phpize && ./configure –prefix=/usr/local/memcached –with-libevent=/usr/ local/libevent –with-php-config=/usr/local/php5/bin/php-config &&make &&make install
Nach der Installation wird ein memcache.so-Modul in /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ generiert:
8. Als nächstes ändern Sie php.ini
Die Standard-php.ini befindet sich in /usr/local/php5/lib/php.ini. Sie können auch Folgendes angeben:
extension_dir = "./"
Ändern zu
extension_dir=“/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626“
Fügen Sie am Ende Folgendes hinzu:
extension=apc.so
extension=memcache.so // Hier wird auf das Cache-Modul verwiesen
[APC]
apc.enabled = 1
apc.shm_segments = 1
apc.shm_size = 64M
apc.optimization=1
apc.num_files_hint = 0
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl = 3600
apc.cache_by_default = on
Die Installation ist nun abgeschlossen!
Starten Sie Nginx und PHP-FPM neu und greifen Sie über die Testseite darauf zu.
Dieser Artikel dient nur als Referenz! Bitte korrigieren Sie mich, wenn es Ungenauigkeiten gibt! Gemeinsam lernen!
Quelle des Artikels: http://blog.mgcrazy.com/?p=627 Bitte geben Sie beim Nachdruck den Quelllink an