Jadual Kandungan
Langkah-langkah pemasangan
Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk menyediakan pelayan WEB berprestasi tinggi dengan Linux+Nginx+Php

Bagaimana untuk menyediakan pelayan WEB berprestasi tinggi dengan Linux+Nginx+Php

May 20, 2023 pm 11:19 PM
php linux nginx

nginx ("enjin x") ialah pelayan proksi http dan terbalik berprestasi tinggi, serta pelayan proksi imap/pop3/smtp. nginx telah dibangunkan oleh igor sysoev untuk rambler.ru, tapak kedua paling banyak dikunjungi di Rusia, di mana ia telah berjalan selama lebih dua setengah tahun. igor mengeluarkan kod sumber di bawah lesen seperti BSD. Walaupun masih dalam versi beta, nginx sudah terkenal dengan kestabilannya, set ciri yang kaya, fail konfigurasi sampel dan penggunaan sumber sistem yang rendah.

Langkah-langkah pemasangan

1. Susun dan pasang perpustakaan sokongan yang diperlukan untuk php5.2.9

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. Susun dan pasang perpustakaan sambungan mysql 5.1.34

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
tar zxvf mysql-5.1.34.tar.gz
cd mysql-5.1.34/make && make install
chmod +w /usr/local/webserver/mysql
chown -r mysql:mysql /usr/local/webserver/mysql
cd ../

Pemasangan mysql diabaikan di sini


3 dan pasang php (mod fastcgi)

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 -buang- laluan --dayakan-mod-selamat --dayakan-bcmath --dayakan-shmop --dayakan-sysvsem --dayakan-pengoptimuman-sebaris --dengan-curl --dengan-curlwrappers --dayakan-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. Ubah suai fail konfigurasi php-fpm

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

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

Masukkan yang berikut:




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

default
127.0.0.1:9000

-1


0666
< /value>

/usr/sbin/sendmail -t -i
1

www
www

static
128< ;/value>

20
5< /value>
35


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

0


yes
500< /value>
127.0.0.1

$hostname
/usr/local/bin:/usr/bin:/bin
/tmp
/tmp
/tmp
$ostype
$machtype
2



五、创建www用建www用建

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


六、编译安装nginx通过设定编译选项,你可以改变这个设定.装,如:

./configure --user= www --group=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.conf
vi /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 server_software nginx;

fastcgi_param query_string $query_string;

fastcgi_param request_method;panjang_kandungan_fastcgi_param $panjang_kandungan ;


nama fail_skrip_fastcgi_param $root_dokumen$nama_skrip_fastcgi;
nama_skrip_fastcgi_param $nama_skrip_fastcgi;
permintaan_fastcgi_param_uri $request_uri;
dokumen_fastcgi_param 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 nama_pelayan gi_param $nama_pelayan;

# php sahaja, diperlukan jika php dibina dengan --enable-force-cgi-redirect

fastcgi_param redirect_status 200;


八、编辑nginx配置rm -f /usr/local/webserver/nginx/conf/nginx.conf

vi /usr/local/webserver/nginx/conf/nginx.conf


输入以下内宨:

pengguna 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;
}

metypes in {

me.type in ;

default_type application/octet-strim;
charset utf-8;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_🎜>large_client_client _saiz 8m;

hantar fail dihidupkan;
tcp_nopush dihidupkan;
keepalive_timeout 60;
tcp_nodelay dihidupkan;

fastcgi_connect_timeout 300;
fastcgi_out_timeout 300;

fastcgi_out_time;

fastcgi_buffer_saiz 64k ;
fastcgi_buffers 8 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

gzip on;
gzip on

4 16k;

gzip_http_versi 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目录,否则不支持多站点
pelayan {

dengar 80;

v-cal.webr.name>;/🎜>v-server.weblo.com> /nginx/html/www.v-ec.com;
index index.php index.html;

lokasi ~ .*.(php|php5)?$ {
#fastcgi_pass unix: /tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;

serta fcgi.conf;

}

lokasi ~ .*. (gif|jpg|jpeg|png|bmp|swf)$ {
tamat tempoh 30h;
}

lokasi ~ .*.(js|css)?$ {
tamat 6j;
}

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

'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_for_for ';
access_log logs/vec.log veclog;

}

#多个站点设置,站点文件夹必须放在nginx的html目录,亙点设置,站点文件夹必须放在nginx的html目录,亙点文件夹必须放在nginx的html目录,亙点文件夹必须放在nginx。 >pelayan {
dengar 80;
nama_pelayan www.w3cgroup.com;
root /usr/local/webserver/nginx/html/www.w3cgroup.com;
index index.php index.html;

lokasi ~ .*.(php|php5)?$ {
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
serta fcgi.conf;

}


lokasi ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ {
tamat tempoh 30h;
}

lokasi ~ .*.(js|css)?$ {
tamat tempoh 6j;
}

format_log 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

在末尾增加以下: 1 /usr/local/webserver/php/sbin/php-fpm start/usr/local/webserver/nginx/sbin/nginx

十、优化linux内核

vi /etc/sysctl.conf

在末尾增加以下内容:

net.ipv4.tcp_fin_timeout = 30.0.net
net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1

使配置

做到这里,可以reboot重启linux了,不出意外的话应该可以顺利开
ps aux | grep nginx
找到nginx的master process,假如为:5800,然后kill
kill –hup 5800
平滑重启phpphp-fpm的其他命令:mula | berhenti | berhenti | mulakan semula | muat semula | logrotate

Atas ialah kandungan terperinci Bagaimana untuk menyediakan pelayan WEB berprestasi tinggi dengan Linux+Nginx+Php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tidak dapat log masuk ke mysql sebagai akar Tidak dapat log masuk ke mysql sebagai akar Apr 08, 2025 pm 04:54 PM

Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

Bolehkah mysql berjalan di Android Bolehkah mysql berjalan di Android Apr 08, 2025 pm 05:03 PM

MySQL tidak boleh berjalan secara langsung di Android, tetapi ia boleh dilaksanakan secara tidak langsung dengan menggunakan kaedah berikut: menggunakan pangkalan data ringan SQLite, yang dibina di atas sistem Android, tidak memerlukan pelayan yang berasingan, dan mempunyai penggunaan sumber kecil, yang sangat sesuai untuk aplikasi peranti mudah alih. Sambungkan jauh ke pelayan MySQL dan sambungkan ke pangkalan data MySQL pada pelayan jauh melalui rangkaian untuk membaca dan menulis data, tetapi terdapat kelemahan seperti kebergantungan rangkaian yang kuat, isu keselamatan dan kos pelayan.

Soalan Temuduga Centos: Ace Temu ramah Pentadbir Sistem Linux Anda Soalan Temuduga Centos: Ace Temu ramah Pentadbir Sistem Linux Anda Apr 09, 2025 am 12:17 AM

Soalan dan jawapan yang sering ditanya kepada wawancara CentOS termasuk: 1. Gunakan perintah YUM atau DNF untuk memasang pakej perisian, seperti Sudoyumininstallnginx. 2. Menguruskan pengguna dan kumpulan melalui perintah UserAdd dan GroupAdd, seperti SudouserAdd-M-S/Bin/BashNewuser. 3. Gunakan firewalld untuk mengkonfigurasi firewall, seperti Sudofirewall-CMD-Permanent-ADD-Service = HTTP. 4. Tetapkan kemas kini automatik untuk menggunakan yum-cron, seperti Sudoyumininstallyum-Cron dan konfigurasi apply_updates = ya.

Tidak dapat mengakses MySQL dari terminal Tidak dapat mengakses MySQL dari terminal Apr 08, 2025 pm 04:57 PM

Tidak dapat mengakses MySQL dari terminal mungkin disebabkan oleh: perkhidmatan MySQL tidak berjalan; ralat perintah sambungan; kebenaran yang tidak mencukupi; sambungan blok firewall; Ralat fail konfigurasi MySQL.

Apakah yang paling banyak digunakan Linux? Apakah yang paling banyak digunakan Linux? Apr 09, 2025 am 12:02 AM

Linux digunakan secara meluas dalam pelayan, sistem tertanam dan persekitaran desktop. 1) Dalam bidang pelayan, Linux telah menjadi pilihan yang ideal untuk menganjurkan laman web, pangkalan data dan aplikasi kerana kestabilan dan keselamatannya. 2) Dalam sistem tertanam, Linux popular untuk penyesuaian dan kecekapan yang tinggi. 3) Di persekitaran desktop, Linux menyediakan pelbagai persekitaran desktop untuk memenuhi keperluan pengguna yang berbeza.

Masa Depan PHP: Adaptasi dan Inovasi Masa Depan PHP: Adaptasi dan Inovasi Apr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

PHP vs Python: Memahami Perbezaan PHP vs Python: Memahami Perbezaan Apr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP: Adakah ia mati atau hanya menyesuaikan diri? PHP: Adakah ia mati atau hanya menyesuaikan diri? Apr 11, 2025 am 12:13 AM

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

See all articles