Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So richten Sie einen Hochleistungs-WEB-Server mit Linux+Nginx+Php ein

So richten Sie einen Hochleistungs-WEB-Server mit Linux+Nginx+Php ein

WBOY
WBOYnach vorne
2023-05-20 23:19:551180Durchsuche

nginx („Engine x“) ist ein leistungsstarker HTTP- und Reverse-Proxy-Server sowie ein IMAP/Pop3/SMTP-Proxy-Server. Nginx wurde von Igor Sysoev für Rambler.ru entwickelt, die am zweithäufigsten besuchte Website in Russland, wo es seit über zweieinhalb Jahren aktiv ist. igor veröffentlicht den Quellcode unter einer BSD-ähnlichen Lizenz. Obwohl sich Nginx noch in der Betaphase befindet, ist es bereits für seine Stabilität, seinen umfangreichen Funktionsumfang, Beispielkonfigurationsdateien und seinen geringen Systemressourcenverbrauch bekannt.

Installationsschritte

1. Kompilieren und installieren Sie die für PHP5.2.9 erforderlichen Unterstützungsbibliotheken

tar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13/
./configure --prefix=/usr/local
make
make install
cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
. /configure --enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/ libmcrypt .so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/ lib /libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/ libmhash .la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so. 2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6. 8 /
/sbin/ldconfig
./configure
make
make install
cd ../


2. Kompilieren und installieren Sie die MySQL 5.1.34-Erweiterungsbibliothek

/usr/sbin/groupadd mysql
/usr /sbin/ useradd -g mysql mysql
tar zxvf mysql-5.1.34.tar.gz
cd mysql-5.1.34/
./configure --prefix=/usr/local/webserver/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
chmod +w /usr/local/webserver/mysql
chown -r mysql:mysql /usr/local/webserver/mysql
cd ../

Die MySQL-Installation wird hier weggelassen


3. PHP kompilieren und installieren (Fastcgi-Modus)

tar zxvf php-5.2.9.tar.gz
gzip -cd php-5.2.9-fpm-0.5.10.diff.gz |. d php -5.2.9 -p1
cd php-5.2.9/
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php /etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with- freetype- dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-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-fastcgi -- enable- fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable- pcntl - -enable-sockets --with-ldap --with-ldap-sasl
make zend_extra_libs='-liconv'
make install
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ../


4. Ändern Sie die PHP-FPM-Konfigurationsdatei

rm -f /usr/local/webserver/php/etc/php-fpm.conf
vi /usr/local/webserver/php /etc/ php-fpm.conf

Geben Sie den folgenden Inhalt ein:




/usr/local/webserver/php/logs /php-fpm.pid
/usr/local/webserver/php/logs/php-fpm.log
notice
10
1m
5s
yes



default
127.0.0.1:9000




0666


/usr/sbin/sendmail -t -i
< value name="display_errors">1


www
www
static
128

20
5
35< /value>


0s
0s
< value name="slowlog">logs/slow.log

51200
0


yes
< value name="max_requests">500

127.0.0.1

$hostname
/usr/local/bin:/usr/bin:/bin
/tmp
/tmp
/tmp

$machtype
2



五、创建www用户组及www用户

/usr/sbin/groupadd www
/usr/sbin/useradd -g www www


六、编译安装nginx

tar zxvf nginx-0.6.35.tar.gz
cd nginx-0.6.35/
默认安装:
./configure
make && make install
默认情况下, nginx 会被安装在 /usr/local/nginx www --prefix=/usr /local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

make && make install

cd ../


七、创建fcgi.conf文件

rm -f /usr/local/webserver/nginx /conf/fcgi.confvi /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;

# Nur PHP, erforderlich, wenn PHP mit --enable-force-cgi-redirect erstellt wurde
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 /usr/ local/webserver/nginx/logs/logs/nginx_error.log crit;
pid /usr/local/webserver/nginx/logs/nginx.pid;

worker_rlimit_nofile 51200;

events {

use epoll;

worker_connections 51200;
}

http {
include mime.types;
default_type application/octet-stream;
charset utf-8;

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 8 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;
#多个站点设置,站点文件夹必须放在nginx的html目录,否则不支持多站点
server {
listen 80;
server_name www.v-ec.com;
root /usr/local/webserver/nginx/html/www.v-ec.com ;

index index.php index.html;


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 6h;
}

log_format veclog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

access_log logs/vec.log veclog;
}
#多个站点设置,站点文件夹必须放在nginx的html目录,否则不支持多站点

server {

listen 80;
Servername www.w3cgroup.com;
root /usr/local/webserver/nginx/html/www.w3cgroup.com;
index index.php index.html;

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 6h;
}

log_format w3cclog '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

access_log logs/w3c.log w3clog;
}
}


九、配置开机自动启动nginx + php


vi /etc/rc .local
十、优化linux内核参数

vi /etc/sysctl.conf

在末尾增加以下内容:

net.ipv4.tcp_fin_timeout =. 30

net.ipv4.tcp_kee palive_time = 300

net.ipv4.tcp_syncookies = 1

net .ipv4.tcp_tw_reuse = 1.net.ipv4.tcp_tw_recycle = 1重启linux了,不出意外的话应该可以顺利开启nginx

平滑重启nginx


ps aux | grep nginx找到nginx的master-Prozess, 5800, 然后killkill –hup 5800

平滑重启php

/usr/local/webserver/php/sbin/php-fpm restart

php-fpm的其他命令:start | aufhören | beenden | neu starten | neu laden | logrotate

Das obige ist der detaillierte Inhalt vonSo richten Sie einen Hochleistungs-WEB-Server mit Linux+Nginx+Php ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen