मैंने अभी एक साइट पर स्थिर अनुरोध करने के लिए nginx सेट अप किया है, लेकिन मेरे पास मेरे सर्वर पर बहुत सी साइटें हैं और मुझे आश्चर्य है, क्या मुझे सही नया होना चाहिए उन सभी के लिए nginx सर्वर विन्यास? अब मैं क्या कर रहा हूं।सही तरीके से सभी वर्चुअल होस्टों को सेवा देने के लिए nginx के लिए अपाचे और परम कॉन्फ़िगरेशन
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerName sky2high.net
DocumentRoot /home/mainsiter/data/www/sky2high.net
</VirtualHost>
<VirtualHost *:8080>
ServerName surdo.asmon.ru
DocumentRoot /home/surdo/data/www/surdo.asmon.ru
</VirtualHost>
<VirtualHost *:8080>
ServerName surdoserver.ru
DocumentRoot /home/surdo/data/www/surdoserver.ru
</VirtualHost>
मैं अपाचे के ports.conf में इस राशि:
Listen 8080
और इसलिए मैं काम करने के लिए nginx सेट अप किया है मैं इस तरह कुछ-बात के साथ अपाचे के लिए सभी आभासी मेजबान प्रविष्टियों के साथ फ़ाइल है एक साइट (sky2high.net), बनाया अगले कॉन्फ़िगर फ़ाइल (/etc/nginx/sites-enabled/sky2high.net) के साथ:
server {
listen 80;
server_name sky2high.net www.sky2high.net;
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
access_log /var/log/nginx.access_log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
root /home/mainsiter/data/www/sky2high.net/;
index index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}
location/{
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
और यह इस डोमेन के लिए ठीक काम करता है, लेकिन निश्चित रूप से एक और आभासी मेजबान हैं टूटा हुआ।
तो सवाल यह है: क्या nginx के लिए अंतिम कॉन्फ़िगरेशन विकल्प है, चुड़ैल सभी आभासी मेजबान (डोमेन) से सभी अनुरोधों को संभालने में मदद कर सकता है और उन्हें सही तरीके से सेवा दे सकता है? मेरा मतलब है, विकल्प जो प्रत्येक वर्चुअल होस्ट (रूट और इंडेक्स विकल्पों जैसे सभी दोगुनी चीजों के साथ) के लिए separete कॉन्फ़िगरेशन फ़ाइलों को लिखने की अनुमति नहीं देता है, लेकिन सभी वर्चुअल होस्ट्स के लिए केवल एक ही है?
पीएस: क्या मुझे सर्वरफॉल्ट पर सवाल उठाना चाहिए?
अद्यतन: एएमएम .. मुझे आश्चर्य है कि यह कैसे काम करता है, लेकिन यह है। मैं अगले config फ़ाइलों कर दिया है:
/etc/nginx/nginx.conf
user www-data;
worker_processes 2;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
और
/etc/nginx/साइटों सक्षम/डिफ़ॉल्ट
server {
listen 80;
location/{
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}
मैं यह समझ में नहीं आता कि यह कैसे काम करता है, लेकिन यह है ...
अद्यतन 2: या यह काम नहीं करता है! मैंने कंसोल में "टॉप" देखा है और यह पाया है कि अपाचे केवल php अनुरोध नहीं करता है, लेकिन स्थिर सामग्री के लिए = (
आप को बदलने के लिए चाहते हो सकता है एक लाइन के लिए: proxy_set_header होस्ट $ मेजबान: $ proxy_port; – dalore