বিভিন্ন পোর্টের মাধ্যমে কীভাবে এনগিনেক্স শুরু করবেন (৮০ ব্যতীত)


128

হাই আমি এনগিনেক্সে নবাগত, আমি এটি আমার সার্ভারে সেট করার চেষ্টা করেছি (উবুন্টু 4 চালাচ্ছি), যার মধ্যে ইতিমধ্যে অ্যাপাচি চলছে।

সুতরাং আমি apt-get installএটি করার পরে , আমি nginx শুরু করার চেষ্টা করেছি। তারপরে আমি এই বার্তাটি পাই:

Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

অ্যাপাচি পোর্ট 80 ব্যবহার করছে বলে এটি উপলব্ধি করে।

তারপরে আমি সংশোধন করার চেষ্টা করেছি nginx.conf, আমি কিছু নিবন্ধগুলি উল্লেখ করেছি, তাই আমি এটির মতো এটি পরিবর্তন করেছি:

   server {

        listen       8080;

        location / {
         proxy_pass  http://xx.xx.xx.xx:9500;
         proxy_set_header   Host             $host:8080;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }

এটি সংরক্ষণ করার পরে এবং আবার এনজিনেক্স শুরু করার চেষ্টা করার পরে, আমি এখনও আগের মতো একই ত্রুটি পেয়েছি। আমি সত্যিই এই সম্পর্কিত কোনও পোস্ট খুঁজে পাচ্ছি না, কোনও ভাল লোকেরা কি কিছুটা আলোকপাত করতে পারে?

আগাম ধন্যবাদ :)

================================================== =======================

আমার কনফিডে সমস্ত সামগ্রী পোস্ট করা উচিত:

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

   server {

        listen       81;

        location / {
         proxy_pass  http://94.143.9.34:9500;
         proxy_set_header   Host             $host:81;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }


    }
}

 mail {
      See sample authentication script at:
      http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript

      auth_http localhost/auth.php;
      pop3_capabilities "TOP" "USER";
      imap_capabilities "IMAP4rev1" "UIDPLUS";

     server {
         listen     localhost:110;
         protocol   pop3;
         proxy      on;
     }

     server {
         listen     localhost:143;
         protocol   imap;
         proxy      on;
     }
 }

মূলত, আমি সার্ভার অংশ যুক্ত করা ছাড়া কিছুই পরিবর্তন করি না।


আপনার কি একই বার্তা আছে? অন্য বন্দর হতে পারে অন্য একটি পরিবর্তন হতে পারে? আপনি sudo মাধ্যমে nginx চালানোর চেষ্টা করেছেন?
dmr



উত্তর:


182

আপনাকে যেতে হবে /etc/nginx/sites-enabled/এবং যদি এটি ডিফল্ট কনফিগারেশন হয় তবে নাম অনুসারে একটি ফাইল থাকতে হবে:default

আপনার পছন্দসই পোর্টটি সংজ্ঞায়িত করে সেই ফাইলটি সম্পাদনা করুন; নীচে স্নিপেটে, আমরা পোর্ট 81 এ এনগিনেক্স উদাহরণ পরিবেশন করছি।

server {
    listen 81;
}

সার্ভারটি শুরু করতে, নীচের কমান্ড লাইনটি চালান;

sudo service nginx start

আপনি এখন 81 বন্দরটিতে আপনার অ্যাপ্লিকেশন অ্যাক্সেস করতে পারেন (লোকালহোস্টের জন্য, http: // লোকালহোস্ট: 81 )।


বিকল্পভাবে, আপনার যদি সার্ভিস ইনস্টল না করা থাকে (ওএস এক্স, সাধারণত) আপনি চালাতে পারেন: sudo nginx -s reload
জন পল বার্বাগালো 18

sudo service nginx restart
এনগিনেক্স

3
৮১ টি বন্দর দিয়ে চেষ্টা করার সময় ক্রোমে আমি ত্রুটি পেয়েছি: "এই ওয়েবপৃষ্ঠা ERR_CONNECTION_TIMED_OUT উপলভ্য নয়" তবে ৮০ টি ভাল কাজ করে।
দারিয়াস.ভি

আমি এটি করেছি তবে যখন আমি দৌড়াব netstat, তখনও পোর্ট ৮০ তে কিছু শোনা যাচ্ছে you আপনার কোনও ধারণা আছে?
মোস্তফা চেলিক

এছাড়াও ডিফল্ট চেক করুন/etc/nginx/sites-available directory
অমিত তেলি 22'18

22

আপনাকে অ্যাপাচি বা এনগিনেক্সের কনফিগার পোর্টটি পরিবর্তন করতে হবে। আপনি এটি করার পরে আপনার ব্যবহৃত 'পরিষেবা' কমান্ডটি ব্যবহার করে আপনাকে পুনরায় কনফিগার করা সার্ভারগুলি পুনরায় চালু করতে হবে।


এ্যাপাচি

সম্পাদন করা

sudo subl /etc/apache2/ports.conf 

এবং নিম্নলিখিত লাইনের 80 টি আলাদা কিছুতে পরিবর্তন করুন:

Listen 80

আপনি যদি কেবল পোর্ট পরিবর্তন করেন বা এখানে আরও বন্দর যুক্ত করেন তবে আপনাকে সম্ভবত ভার্চুয়ালহোস্ট স্টেটমেন্টটি পরিবর্তন করতে হবে

sudo subl /etc/apache2/sites-enabled/000-default.conf

এবং নিম্নলিখিত লাইনের 80 টি আলাদা কিছুতে পরিবর্তন করুন:

<VirtualHost *:80>

তারপরে পুনরায় চালু করুন:

sudo service apache2 restart

nginx

সম্পাদন করা

/etc/nginx/sites-enabled/default

এবং নিম্নলিখিত লাইনে 80 টি পরিবর্তন করুন:

listen 80;

তারপরে পুনরায় চালু করুন:

sudo service nginx restart

20

এটি অনুসরণ করুন: আপনার কনফিগারেশন ফাইলটি খুলুন

vi /etc/nginx/conf.d/default.conf

আপনি যে পোর্টের নাম শুনছেন তা পরিবর্তন করুন;

listen       81;
server_name  localhost;

Iptables এ একটি বিধি যুক্ত করুন

 vi /etc/sysconfig/iptables 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT

IPtables পুনরায় আরম্ভ করুন

 service iptables restart;

Nginx সার্ভারটি পুনরায় চালু করুন

service nginx restart

81 পোর্টে yr nginx সার্ভার ফাইল অ্যাক্সেস করুন


1
আমার সমস্যাটি আপনার সাথে প্রায় অনুরূপ এই পদ্ধতিটি ব্যবহার করে সমাধান করা হয়েছিল।
sinshiva

এফওয়াইআই: উইন্ডোজের নীচে এনজিনেক্সের সঠিক ফাইলের নাম কনফেস হবে \ nginx.conf
জনি বিগোড

কনফ ফাইলটির নাম কী হবে তা পুরো ব্যাপারটি বিবেচনা করে না কারণ পুরো কনফার ডির সোর্স করা হয়েছে।
sinshiva

3

তারপর আপনি বন্দর সম্পর্কিত সার্ভার সেটিংস নিচে Windows এ হন ফাইলে উপস্থিত আছে nginx.conf<nginx ইনস্টলেশন পাথ> / সার্ভার ফোল্ডার।

server {
    listen       80;
    server_name  localhost;
....

পোর্ট নম্বর পরিবর্তন করুন এবং পুনরায় সূচনা করুন।


1

ডকার ব্যবহার করার সময় আপনি যদি এই সমস্যাটি অনুভব করছেন তবে সঠিক পোর্ট নম্বরগুলি মানচিত্রের বিষয়ে নিশ্চিত হন। ডকার চালানোর সময় আপনি যদি 81:80 বন্দরটি মানচিত্র করেন (বা ডকার-কমপোজ.আইএমএল মাধ্যমে), আপনার এনজিনেক্স অবশ্যই 80 পোর্টে শুনতে হবে না 81 টি , , কারণ ডকার ম্যাপিং ইতিমধ্যে করেছে does

আমি নিজেই এই ইস্যুতে বেশ কিছুটা সময় ব্যয় করেছি, তাই আশা করি ভবিষ্যতের গুগলদের জন্য এটি কিছুটা সহায়ক হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.