বার্নিশ ডিমন কনফিগার করা পোর্টে শুনছেন না


11

আমি উবুন্টু 16.04 এ বার্নিশ ইনস্টল করার চেষ্টা করছি,

আমি বেশ কয়েকটি নিবন্ধ পড়েছি কেউ কাজ করছে না। আমি যা পড়েছি তা থেকে, উবুন্টু 15.04 সাল থেকে, বার্নিশটি কনফিগার করার পদ্ধতিটি পরিবর্তিত হয়েছে (সিস্টেমেডের কারণে)।

এখন আমি একটি বাস্তব জগাখিচুড়ি পেয়েছি যা কাজ করবে না:


/ ইত্যাদি / ডিফল্ট / বার্নিশ:

DAEMON_OPTS="-a :80 \
             -T localhost:6082 \
             -f /etc/varnish/default.vcl \
             -S /etc/varnish/secret \
             -s malloc,256m"

/etc/varnish/default.vcl (সাধারণত এটি একটি হোস্টের দিকে নির্দেশ করে 127.0.0 এবং পোর্ট 8080, তবে ডিবাগিংয়ের উদ্দেশ্যে আমি এটিকে বহিরাগত ডোমেনে সংশোধন করেছি) vcl 4.0;

# Default backend definition. Set this to point to your content server.
backend default {
    .host = "www.varnish-cache.org"; 
    .port = "80";
}

/etc/apache2/ports.conf

Listen 8080

grep -R 'ExecStart=/usr/sbin/varnishd' /etc/

/etc/systemd/system/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/varnish.service.d/customexec.conf:ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
/etc/systemd/system/multi-user.target.wants/varnish.service:ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

/lib/systemd/system/varnish.service:

  GNU nano 2.5.3                                                Fichier : /lib/systemd/system/varnish.service                                                                                                      

[Unit]
Description=Varnish HTTP accelerator
Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd

[Service]
Type=simple
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
ExecReload=/usr/share/varnish/reload-vcl
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

service --status-all | grep varnish

 [ - ]  varnish
 [ + ]  varnishlog
 [ + ]  varnishncsa

পরে

sudo service varnish stop
sudo service varnish start

http://127.0.0.1:80/পুনরায় বুট করার আগে বার্নিশ পরিষেবাটি শুনছে না , এটি পছন্দ করে http://127.0.0.1:6081/কিন্তু এটি আর কাজ করে না ... আরও কী করতে হবে তা আমি জানি না ...




সম্পাদনা: একটি রিবুট পরে, কিছুই কাজ করে না,

যদি আমি করি : systemctl status varnish

● varnish.service - Varnish HTTP accelerator
   Loaded: loaded (/etc/systemd/system/varnish.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/varnish.service.d
           └─customexec.conf
   Active: inactive (dead) since jeu. 2017-01-05 14:48:09 CET; 1s ago
     Docs: https://www.varnish-cache.org/docs/4.1/
           man:varnishd
  Process: 5077 ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m (code=exited, status=0/SUCCESS)
 Main PID: 5077 (code=exited, status=0/SUCCESS)

janv. 05 14:48:09 xubuntu-16 systemd[1]: Started Varnish HTTP accelerator.

service --status-all | grep varnish

 [ - ]  varnish
 [ - ]  varnishlog
 [ - ]  varnishncsa

যদি আমি সুডো: varnishd -d -f /etc/varnish/default.vclতবে start, আমি ক্লাইটি ছাড়ার আগ পর্যন্ত সবকিছু ঠিকঠাক কাজ করে ...


সমাধান জেরাল্ড স্নাইডার প্রতিক্রিয়া ধন্যবাদ। আমার যে পদক্ষেপগুলি করতে হয়েছিল তা আমি পোস্ট করি:

sudo apt remove varnish
sudo apt-get purge varnish
# I manually remove the 3 files in created in /etc/systemd/system/*
sudo apt install varnish
sudo nano /lib/systemd/system/varnish.service # put the rigth conf
sudo nano /etc/varnish/default.vcl #put the rigth conf
sudo systemctl daemon-reload
sudo service varnish restart

এবং সবকিছু ঠিকঠাক কাজ করে! যাদুটি /lib/systemd/system/varnish.serviceফাইলে রয়েছে, অন্যান্য অনলাইন সংস্থান যা আমি পেয়েছি তা আমাকে অন্য কোথাও মনে করে তোলে, সুতরাং অনলাইন (পুরানো) টিউটোরিয়াল থেকে সাবধান থাকুন!


সম্ভবত আপনার পূর্ববর্তী ড্রপটি -> - এ সরাতে প্রয়োজনীয়। /etc/systemd/system/varnish.service
মাইক কিউ

উত্তর:


17

আপনার সিস্টেমেড পরিষেবা সংজ্ঞাতে বার্নিশ শুরুর পরামিতিগুলিও পরিবর্তন করতে হবে। আপনি ExecStartপরিষেবা সংজ্ঞা ফাইলটিতে শুরু করে লাইনটি সম্পাদনা করতে পারেন :

sudo vi /lib/systemd/system/varnish.service

তবে এই ফাইলটি সংশোধন করার অসুবিধা রয়েছে যে এটি প্যাকেজের ভবিষ্যতের আপডেটগুলিতে আপডেট হবে না। বিকল্প হিসাবে, মন্তব্যে প্রস্তাবিত হিসাবে, আপনি ফাইলে একটি সিস্টেমেড ড্রপ তৈরি করতে পারেন , যা সিস্টেমেড সংজ্ঞাগুলিতে সেটিংস যুক্ত করার পছন্দের উপায়।

# create the drop in directory
sudo mkdir /etc/systemd/system/varnish.service.d
# create the drop in file. The name is irrelevant, as long as it ends in .conf
sudo vi /etc/systemd/system/varnish.service.d/mysettings.conf

এখানে আপনার পরিবর্তন করতে চান সেটিংসটিই যুক্ত করতে হবে, সমস্ত কিছু ডিফল্ট সংজ্ঞা ফাইল থেকে লোড হবে।

উদাহরণ:

[Service]
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

এটি ডিফল্ট লাইন, এটি আপনার প্রয়োজন অনুসারে পরিবর্তন করুন

এরপরে, সিস্টেমটিটিএলকে কনফিগার করা ফাইলগুলি পুনরায় লোড করতে এবং পরিষেবাটি পুনরায় চালু করতে বলুন

sudo systemctl daemon-reload
sudo service varnish restart

বার্নিশ এখন পোর্ট 80 এ শোনা উচিত।


আমি এটি করেছি, এই ফাইলটিতে রয়েছে:[...] [Unit] Description=Varnish HTTP accelerator Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd [Service] Type=simple LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m ExecReload=/usr/share/varnish/reload-vcl [...]
ব্রুনো

হয়তো আপনার অ্যাপাচি এবং বার্নিশের জন্য ডিফল্ট কনফিগারেশন ফাইলগুলি পুনরুদ্ধার করা উচিত এবং আবার শুরু করা উচিত। এটি পরীক্ষা করার জন্য আমি এটি সেট আপ করেছি এবং 8080 বন্দর এবং বার্নিশ.সার্ভিসে একক লাইন শুনতে আমি কেবল অ্যাপাচি কনফিগারেশন পরিবর্তন করতে হয়েছিল। আর কিছু না.
জেরাল্ড স্নাইডার

ধন্যবাদ, এটা কাজ! আমি আমার পোস্টে আনইনস্টল করার পদক্ষেপগুলি যুক্ত করছি
ব্রুনো

এই ভুল পদ্ধতি। / Lib / systemd- এ সিস্টেমড ইউনিট ফাইলগুলি সম্পাদনা করা উচিত নয়, সেগুলি / etc /
স্টিফেন

1
systemctl edit varnish.service আপনার জন্য ইউনিট ফাইল ওভাররাইড ড্রপ-ইনগুলি তৈরি করে স্বয়ংক্রিয়ভাবে
HBruijn

5

নোট করুন যে ড্রপ-ইন একটি ফাঁকা এক্সিকিস্টার্ট থাকা উচিত = অন্যথায় আপনি পরিষেবাটি চালু করার সময় ত্রুটি পাবেন (নকল এক্সিকিস্টার্ট)

sudo mkdir /etc/systemd/system/varnish.service.d
sudo nano /etc/systemd/system/varnish.service.d/varnishd.conf

সঙ্গে

[Service]
ExecStart=
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T <YOUR WEBSERVER IP>:8081 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.