Bahagian 1: Pemasangan
1 Cipta pengguna dan kumpulan
/usr/sbin/groupadd www /usr/sbin/useradd -g www www
2 Pasang pcre untuk mendayakan penulisan semula sokongan proksi terbalik nginx mudah untuk keperluan masa hadapan
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz tar zxvf pcre-7.8.tar.gz cd pcre-7.8/ ./configure make && make install
3 Pasang proksi terbalik nginx
wget http://sysoev.ru/nginx/nginx-0.7.58.tar.gz tar zxvf nginx-0.7.58.tar.gz cd nginx-0.7.58/ ./configure --user=www --group=www --prefix=/usr/ local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-cc-opt='-o2' --with-cpu-opt =opteron make && make install
Perhatikan --with-cc-opt='-o2' --with-cpu- opt=opteron Ini ialah pengoptimuman pengkompil Pada masa ini, yang paling biasa digunakan ialah -02 dan bukannya 3. Yang terakhir sepadan dengan model CPU.
Bahagian 2: Fail Konfigurasi Konfigurasi dan Pengoptimuman
1 Fail Konfigurasi nginx.conf:
user www www; worker_processes 4; # [ debug | info | notice | warn | error | crit ] error_log /usr/local/webserver/nginx/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 51200; events { use epoll; worker_connections 51200; } http { include mime.types; default_type application/octet-stream; source_charset gb2312; server_names_hash_bucket_size 256; client_header_buffer_size 256k; large_client_header_buffers 4 256k; #size limits client_max_body_size 50m; client_body_buffer_size 256k; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; #参数都有所调整.目的是解决代理过程中出现的一些502 499错误 sendfile on; tcp_nopush on; keepalive_timeout 120; #参数加大,以解决做代理时502错误 tcp_nodelay on; include vhosts/upstream.conf; include vhosts/bbs.linuxtone.conf; }
2 fail konfigurasi upstream.conf (ini juga kaedah konfigurasi untuk memuatkan
upstream.conf upstream bbs.linuxtone.com { server 192.168.1.4:8099; }
3 fail konfigurasi tapak
bbs.linuxtone.conf server { listen 80; server_name bbs.linuxtone.conf; charset gb2312; index index.html index.htm; root /date/wwwroot/linuxtone/; location ~ ^/nginxstatus/ { stub_status on; access_log off; } location / { root /date/wwwroot/linuxtone/; proxy_redirect off ; proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header remote-host $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; client_max_body_size 50m; client_body_buffer_size 256k; proxy_connect_timeout 30; proxy_send_timeout 30; proxy_read_timeout 60; proxy_buffer_size 256k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_max_temp_file_size 128m; proxy_pass http://bbs.linuxtone.com; }
parameter telah dilaraskan. Tujuannya adalah untuk selesaikan Beberapa 502 499 ralat yang berlaku semasa proses proksi
#add expires header for static content location ~* \.(jpg|jpeg|gif|png|swf)$ { if (-f $request_filename) { root /date/wwwroot/linuxtone/; expires 1d; break; } } log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; access_log /exp/nginxlogs/bbs.linuxtone_access.log access; }
Arahan biasa
Berikut ialah beberapa arahan biasa untuk proksi terbalik nginx
perintah pass_proxy
Sintaks
proxy_pass [url | upstream]
Fungsi
Arahan ini digunakan untuk menetapkan port atau soket pelayan proksi dan url
arahan pengalihan_proksi
Syntax
proxy_redirect [off | default | redirect replacement]
Fungsi
Arahan ini digunakan untuk menukar "lokasi" dan "refresh" dalam pengepala respons pelayan proksi
Tambahan:
Saya tidak melihat peranan perintah ini lagi Ya, ia dimatikan dalam tetapan sebenar Jika anda tahu apa-apa tentangnya, sila tinggalkan mesej di blog untuk membimbing saya
proxy_next_upstream command
Sintaks
Salin kod Kod adalah seperti berikut :
proxy_next_upstream [error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off]
Arahan ini digunakan untuk menetapkan situasi di mana Majukan permintaan ke pelayan seterusnya Dalam kumpulan pelayan proksi pengimbangan beban huluan, jika salah satu pelayan bahagian belakang tidak dapat dicapai atau mengembalikan kod tindak balas ralat yang ditentukan, anda boleh menggunakan arahan ini. untuk memajukan permintaan ke pelayan seterusnya dalam kumpulan ralat
Parameter Keterangan
tamat masa. : Jika ralat berlaku semasa menyambung ke pelayan, semasa menghantar permintaan, atau semasa membaca mesej respons daripada pelayan bahagian belakang Tamat masa
invalid_header: Pelayan bahagian belakang mengembalikan respons kosong atau salah
http_[500| 502|503|504|404]: Pelayan bahagian belakang mengembalikan kod status respons yang ditentukan
dimatikan: Melumpuhkan permintaan Majukan ke pelayan belakang seterusnya
arahan proxy_set_header
Sintaks
proxy_set_header header value
Arahan ini membenarkan mentakrifkan semula atau menambah baris pengepala dimajukan ke Dalam maklumat permintaan pelayan proksi, nilainya boleh berupa teks, pembolehubah atau gabungan teks dan pembolehubah
Atas ialah kandungan terperinci Bagaimana untuk membina proksi terbalik untuk pelayan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!