


Bagaimana untuk menyediakan pelayan WEB berprestasi tinggi dengan Linux+Nginx+Php
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 ../
3 dan pasang php (mod fastcgi)
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
vi /usr/local/webserver/php/etc/php-fpm.conf
<
< /value>
<
< value name="rlimit_files">51200
五、创建www用建www用建
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www
六、编译安装nginx通过设定编译选项,你可以改变这个设定.装,如:
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;
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;
fastcgi_param redirect_status 200;
八、编辑nginx配置rm -f /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 {
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_buffer_saiz 64k ;
fastcgi_buffers 8 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip on
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 {
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;
}
lokasi ~ .*. (gif|jpg|jpeg|png|bmp|swf)$ {
tamat tempoh 30h;
}
lokasi ~ .*.(js|css)?$ {
tamat 6j;
}
'$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" '
'"$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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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.

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 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 mungkin disebabkan oleh: perkhidmatan MySQL tidak berjalan; ralat perintah sambungan; kebenaran yang tidak mencukupi; sambungan blok firewall; Ralat fail konfigurasi MySQL.

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 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 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 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.
