मैं बिल्कुल नहीं सर्वर अनुभव वाला एक डेवलपर हूं, जिस प्रोजेक्ट पर मैं काम कर रहा हूं वह सर्वरों की दुनिया में मेरा पहला कदम है। मूल रूप से मुझे एक एपीआई को ऑनलाइन होस्ट करना होगा, उबंटू पर नग्नेक्स चलाने वाले एक लाइनोड सर्वर पर। और मुझे HTML सूचकांक पृष्ठ को होस्ट करने के लिए एक साधारण सर्वर ब्लॉक प्राप्त करने में समस्या हो रही है, जिसमें सिर्फ एक एच 1 टैग है जिसे 'हैलो' कहा गया है। मैंने एक सरल सर्वर ब्लॉक काम करने पर विभिन्न ट्यूटोरियल का अनुसरण किया है और पढ़ा है, मैंने इन ब्लॉक को अपने स्थानीय मशीन पर भी काम किया है, लेकिन मुझे दूरस्थ सर्वर पर काम करने में समस्या आ रही है।
मैं आपको कुछ ऐसे ब्लॉक दिखाऊंगा जो मेरे लिए लिनोड पर काम करने में विफल रहे हैं:
सबसे पहले, एक साधारण HTML सर्वर को ब्लॉक करने के लिए एक सरल ब्लॉक, यह मेरी स्थानीय मशीन पर काम करता है:
server {
listen 8005;
index index.html;
root /srv/www/site;
}
एक और सरल ब्लॉक:
server {
listen [server ip]:8006;
server_name "";
index index.html;
root /srv/www/site;
location ~/ {
root /srv/www/site;
}
}
Php परोसने के लिए एक ब्लॉक (स्थानीय रूप से काम करता है):
server {
listen [server ip]:8007;
server_name "";
index index.php index.html index.htm;
root /srv/www/site;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* \.php$ {
try_files $uri /index.php;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
जब भी मैंने उन्हें ब्राउज़र के माध्यम से एक्सेस करने की कोशिश की मुझे सर्वर कनेक्शन टाइमआउट मिला। मेरे पास इसके साथ कोई DNS सेटअप नहीं है इसलिए मैं सर्वर IP और पोर्ट नंबर का उपयोग करके इसे एक्सेस करने का प्रयास कर रहा था:
[server ip]:[port]
या
[server ip]:[port]/index.html
लेकिन कुछ नहीं मिला।
तो एक चीज जो समस्या का कारण हो सकती है वह यह है कि एक और एप्लिकेशन को पहले से ही सर्वर पर होस्ट किया जा रहा है। इसका अपना ब्लॉक है और यह अपने बंदरगाह पर चल रहा है। इसका अपना डीएनएस नाम है जो इसकी ओर इशारा करता है। लेकिन इसमें से कोई भी बात सही होनी चाहिए? जैसा कि प्रत्येक सर्वर ब्लॉक मूल रूप से एक वर्चुअल सर्वर है या वर्चुअल डोमेन बनाता है। आईपी और पोर्ट के माध्यम से इसे एक्सेस करना ठीक काम करना चाहिए, लेकिन यह काम नहीं कर रहा है!
उन सभी के बारे में जो मैं सोच सकता हूं, इस क्षेत्र में मेरा ज्ञान अधिकतम है और मुझे स्मार्ट लोगों से मदद की आवश्यकता है!
lsof
इसका मतलब है कि पोर्ट 80 पर सुनने वाला सॉफ्टवेयर मशीन पर उपलब्ध किसी भी इंटरफेस पर सुन रहा है। यदि आपको ऐसा कुछ मिला है, 127.0.0.1:80
तो इसका मतलब होगा कि सॉफ्टवेयर केवल उन कनेक्शनों को स्वीकार करने जा रहा है जो पोर्ट 80 पर लूपबैक डिवाइस पर बने हैं। इसलिए ईथरनेट कार्ड से आने वाला कनेक्शन अस्वीकार कर दिया जाएगा।
iptables -nvL
?