GCE Apache में httpd.conf कहाँ रहता है?


3

मेरे पास एक सरल, Django एप्लिकेशन है जिसे मैं Google Compute Engine (GCE) सर्वर पर उत्पादन के लिए धकेलना चाहूंगा । GCE सर्वर डेबियन-व्हीज़ी चला रहा है । मैंने Apache 2, Django 1.6.2 और mod-wsgi को सर्वर पर स्थापित किया है और एक फ़ायरवॉल नियम स्थापित किया है जो पोर्ट tcp खोलता है: 80।

मैं https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/modwsgi/ पर दिए गए निर्देशों का पालन करने का प्रयास कर रहा हूं । हालाँकि, मैं संशोधित करने के लिए httpd.conf फ़ाइल खोजने में असमर्थ रहा हूँ।

प्रशन:

  1. मुझे इस httpd.conf फ़ाइल को संशोधित करने के लिए कहां मिल सकता है?
  2. एक बार मिल जाने के बाद, क्या मैं इसे वेबपेज पर दिखाए अनुसार संपादित कर सकता हूं और फिर जीसीई इंस्टेंस के बाहरी आईपी पते पर किसी भी दौरे को मेरे Django एप्लिकेशन को निर्देशित किया जाएगा?

1 संपादित करें:

मेरी जड़ में मेरे पास निम्नलिखित फ़ोल्डर हैं:

bin  boot  build  dev  etc  home  initrd.img  lib  lib64  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz

Follwing से सलाह: http://commanigy.com/blog/2011/06/08/finding-apache-configuration-file-httpd-conf-location मैंने निम्न कार्य किए हैं:

$ ps -ef | grep apache

जो लौटता है

jason@instance-1:/$ ps -ef | grep apache
root     10492     1  0 13:33 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 10495 10492  0 13:33 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 10496 10492  0 13:33 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 10497 10492  0 13:33 ?        00:00:00 /usr/sbin/apache2 -k start
jason    11669 11529  0 16:54 pts/1    00:00:00 grep apache

और फिर

$ /usr/sbin/apache2 -V

जो लौटता है

Server version: Apache/2.2.22 (Debian)
Server built:   Feb  1 2014 21:26:17
Server's Module Magic Number: 20---edited-just-in-case
Server loaded:  APR 1.4.6, APR-Util 1.4.1
Compiled using: APR 1.4.6, APR-Util 1.4.1
Architecture:   64-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....

 -D APACHE_MPM_DIR="server/mpm/worker"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/etc/apache2"
 -D SUEXEC_BIN="/usr/lib/apache2/suexec"
 -D DEFAULT_PIDLOG="/var/run/apache2.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="mime.types"
 -D SERVER_CONFIG_FILE="apache2.conf"

उस वेबसाइट के अनुसार, जिस फ़ाइल की मुझे वास्तव में तलाश है, वह है apache2.conf httpd.conf नहीं - हालांकि यह Django प्रलेखन का विरोध करती है ...

संपादित करें 2

@ Ls97 प्रश्न का उत्तर देने के लिए, / usr / sbin / apache2 एक प्रतीकात्मक लिंक है जो इंगित करता है

apache2 -> ../lib/apache2/mpm-worker/apache2

यदि मैं इस स्थान पर नेविगेट करता हूं और $ $ ls -alमिलता है

  total 496
  drwxr-xr-x 2 root root   4096 Apr 18 13:27 .
  drwxr-xr-x 7 root root   4096 Apr 18 13:27 ..
  -rwxr-xr-x 1 root root 497808 Feb  1 21:27 apache2

और apache2इस स्थान पर आइटम निर्देशिका नहीं है।

जवाबों:


3

apache2.confके तहत आमतौर पर /etc/apache2/है और अपाचे मुख्य कॉन्फ़िगरेशन फ़ाइल है। यह वह लोड है httpd.confजो आपको अपने कॉन्फ़िगरेशन को रखना चाहिए (और मुख्य फ़ाइल में नहीं)।

अपडेट करें:

तो, /etc/apache2/apache2.confफ़ाइल में, आपके पास निश्चित रूप से इन 2 जैसी लाइनें हैं:

# Include all the user configurations:
Include httpd.conf

अंतिम में वह /etc/apache2/httpd.confफ़ाइल शामिल होगी जो संभवतः एक ताज़ा इंस्टाल पर एक खाली फ़ाइल (या लगभग) है। यदि यह मौजूद नहीं है, तो आप एक नया बना सकते हैं और जोड़ सकते हैं:

NameVirtualHost *:80
Listen 80

आप अपने वैश्विक विन्यास और वर्चुअलबॉक्स विन्यास जोड़ सकते हैं जैसा कि django ट्यूटोरियल में कहा गया है। जैसा कि मुझे पता है कि वर्चुअलहॉस्ट भाग django ट्यूटोरियल में नहीं है (क्योंकि यह django संबंधित नहीं है लेकिन अपाचे है), यहाँ एक काम कर रहे django साइट से एक प्रारंभिक उदाहरण है:

<VirtualHost *:80>  # will listen on port 80 - as defined above

    ServerAdmin your@email.com
    ServerName your.site.com     # will serve requests on this url

    DocumentRoot /path/to/your/djangoproject  # like /home/username/projects/myproject


# complete with the rest of the django tutorial configuration under "Serving Files" 
# to serve static files using the same server as I think you have only 1 server available

# close the virtualhost after django tutorial configurations
</VirtualHost>

आपको निश्चित रूप से एपाचे पर wsgi मॉड्यूल को स्थापित करने और सक्षम करने की आवश्यकता है। आमतौर पर यह पहले से ही वहाँ है और आप केवल के साथ यह सक्षम करना होगा: sudo a2enmod wsgi। उस बारे में निश्चित नहीं है, लेकिन मुझे लगता है कि यह आपके लिए अजगर / django के कॉन्फ़िगरेशन के आधार पर GCE द्वारा सक्षम है।

यदि आप 2.4 से पहले एपाचे का उपयोग कर रहे हैं, तो सावधान रहें, अनुमति आदेश के Require all grantedसाथ बदलने Allow from allऔर चयन करने के लिए django ट्यूटोरियल में एक नोट है ।

मुझे लगता है कि यह करने का सबसे सरल तरीका है। एक और विधि जो मैं कई वर्चुअलहोस्टेस के लिए पसंद करता हूं, एक निर्देशिका का उपयोग करने के लिए कहा जाता sites-availableहै जिसे 1 फाइल प्रति vhost स्टोर करने के लिए कहा जाता है और उन्हें चुनिंदा लिंकिंग सक्षम करता है sites-enabled। आप इसे अपाचे प्रलेखन में कैसे करें के उदाहरण पा सकते हैं लेकिन काम करना httpd.confबहुत कम साइटों के लिए ठीक है।


आपके योगदान के लिए धन्यवाद - आपका स्पष्ट रूप से पता है कि आप किस बारे में बात कर रहे हैं, हालांकि मैं कदम eli5 से थोड़ा और अधिक की तलाश कर रहा हूं
user714852

अपनी कॉन्फ़िगरेशन फ़ाइल शुरू करने और django ट्यूटोरियल के साथ पूरा करने के लिए एक virtualhost कॉन्फ़िगरेशन उदाहरण जोड़ा।
लौरेंट

1

httpd.conf अपाचे के लिए मुख्य विन्यास फाइल है। यह अपाचे / आत्मविश्वास के तहत है और आप फ़ाइल को दिखाए अनुसार संपादित कर सकते हैं (मैं कोई विशेषज्ञ नहीं हूं लेकिन ऐसा लगता है कि उनके संपादन काम करने चाहिए)।

मुझे याद है कि जब आप फ़ाइल को सीधे संपादित करते हैं तो Apache अपडेट होने पर आप httpd.conf में परिवर्तन खोने का जोखिम चलाते हैं, लेकिन यह केवल XAMPP उपयोगकर्ताओं के लिए हो सकता है। मैं फिर से इस स्रोत को खोजने के लिए प्रतीत नहीं कर सकता। किसी भी स्थिति में, इसे संपादित करने से पहले और बाद में कॉन्फिग फाइल का बैकअप बना लें।


@ user714852 आपके संपादन के बाद, वहाँ / usr / sbin / apache2 / conf पर कुछ है?
एलएस 97

अद्यतन प्रश्न। मूल रूप से एक फ़ाइल है जिसे अपाचे 2 कहा जाता है हालांकि यह एक निर्देशिका नहीं है इसलिए मैं इसमें सीडी नहीं डाल सकता।
user714852

ठीक है, मुझे खेद है कि मैं आगे कोई मदद नहीं कर सकता, लेकिन मैं अपरिचित क्षेत्र में हूं।
एलएस 97
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.