GNU/Linux >> Belajar Linux >  >> Linux

Masalah dan Solusi Server Umum

Salah satu penggunaan yang paling umum dari server online adalah untuk meng-host situs web. Ini dimungkinkan oleh perangkat lunak yang menyajikan konten http antara lain. Pada postingan kali ini saya akan menjelaskan beberapa trik untuk mendeteksi dan memperbaiki masalah pada sistem web service yaitu GNU/Linux. Untuk mempermudah kita akan fokus pada apache yang paling umum digunakan.

Biasanya berita pertama yang kami dapatkan ketika ada masalah pada server web adalah browser tidak dapat melihat isinya. Sebelum masuk ke server sebaiknya periksa apakah masalahnya adalah DNS dan karena nama domain tidak menyelesaikan ke IP server web kita. Hal ini dapat dilihat dengan menggunakan aplikasi seperti ping, host, nslookup dig, dll tergantung yang kita miliki.
Jika kita yakin bahwa DNS domain berfungsi dan mengarah ke ip web service, kita sebagai administrator untuk akses ini dan coba cari tahu dan selesaikan apa pun masalahnya.

Sebelum masuk ke rag, sebagai informasi pertama kami mengatakan bahwa protokol http bekerja pada port 80 server kami. Ini adalah fakta penting karena mengetahui kita dapat dengan mudah memperoleh data tentang proses yang sedang berjalan.
Setelah masuk, hal pertama yang kita lakukan adalah menggunakan perintah “netstat” yang menampilkan daftar port dan koneksi yang dibuat di komputer kita. server:

Seperti yang ditunjukkan, menggunakan bersama dengan perintah "grep", untuk memfilter dengan "LISTEN" dan "80" menunjukkan kepada kita jika ada proses yang mendengarkan pada port 80, dan menggunakan layanan "httpd". Jika Anda ingin menghapus "| grep LISTEN” perintah ini juga kita tampilkan koneksi yang masih aktif di port tersebut, di antaranya kita bisa menemukan koneksi yang sudah ada, pending pending atau closed.

Selain itu, kami juga memiliki perintah yang disebut "lsof" yang dapat menunjukkan lebih banyak informasi tentang pengguna dan jumlah proses yang berjalan. Perintah ini menampilkan informasi tentang file yang terbuka di sistem Linux Linux karena semuanya bekerja melalui file bagi kami sangat berguna. Dalam hal ini kita perlu memberi tahu bahwa file yang terlihat terbuka yang terkait dengan port 80 dan kita akan melakukannya dengan menetapkan “-i 80” di dalam sistem sebagai pengguna administrator:

Ini di atas adalah output normal dari server di mana tidak ada yang menonton halaman yang dihosting. Disini kita bisa melihat bagaimana user menjalankan proses “apache” yang ada proses proses bapak dan 6 anak menunggu request datang untuk melayani konten. Jika seseorang mencari halaman di mana mereka muncul lebih banyak "LISTEN" sekarang muncul, menunjukkan sumber koneksi antara lain.

Jika server kami, kami tidak melihat proses yang berjalan pada port 80 dengan salah satu perintah di atas, ini menunjukkan bahwa layanan web tidak berfungsi sebagaimana mestinya dan oleh karena itu kami harus memulainya lagi. Ini tergantung distro Linux mana yang akan kita pakai menggunakan nama atau distro lain yang berbasis Redhat dan Centos dibuat dengan “httpd” dan yang berbasis Debian sebagai Ubuntu, dengan “apache2”

Dalam kasus kami, kami menggunakan httpd karena ini adalah Centos, dan karena server web di-boot dengan benar, jadi kami hanya akan memeriksa sekarang apakah ada proses yang berjalan dan mencoba memvisualisasikan situs lagi di browser.

Dalam kasus unbootable dapat menunjukkan kepada kita pesan kesalahan yang akan dianalisis secara rinci untuk menentukan dengan tepat apa yang terjadi, karena ada banyak kemungkinan. Kami juga harus melihat log kesalahan untuk melihat apakah Anda telah meninggalkan pesan indikasi. Ini dapat dilakukan dengan perintah cat atau tail atau editor teks konsol apa pun, seperti vim atau nano, atau emacs.

Aplikasi yang sangat berguna di atas adalah "ekor" karena dengan "-f" di belakang memungkinkan kita untuk melihat log secara real time, misalnya:

tail -f /var/log/httpd/error_log

Jika kita membiarkannya berjalan di konsol dan yang lain mencoba memulai layanan, atau mengakses browser, kita dapat melihat kesalahan secara real time, yang akan sangat berguna.
Terkadang server web tampak di-boot dan beroperasi secara normal dengan prosesnya untuk mendengarkan, tetapi situs web tetap tidak berfungsi dengan baik dan tidak menampilkan konten apa pun di browser.
Dalam kasus ini untuk melihat apa yang terjadi, prioritas seperti yang disebutkan di atas adalah dengan melihat log kesalahan, yang biasanya ditampilkan informasi rinci tentang masalah yang mencegah operasi. Setelah menampilkan kesalahan, kecuali kita mengetahuinya, adalah normal untuk menggunakan mesin pencari seperti Google untuk informasi tentang kesalahan ini dan beberapa cara untuk memperbaikinya. Jika tidak ada pesan yang muncul, yang harus dilakukan adalah menghentikan semua instance server web dan meluncurkannya dalam mode debug:

httpd -e DEBUG

Dengan ini jika kita harus dapat melihat kesalahan internal untuk membantu dalam penyelesaiannya. Bagaimanapun jika setelah mengikuti semua langkah ini tidak berhasil menjalankan server web Anda, kami sarankan Anda mendapatkan di tangan profesional yang dapat menyelesaikan masalah dengan cepat dan efisien.
Akhirnya kami akan memberikan daftar yang paling umum kesalahan yang kita dapat menemukan waktu untuk mengangkat layanan web yang dijatuhkan dan beberapa ide tentang cara memperbaikinya. Kesalahan yang bisa masuk dalam log ketika masalahnya adalah konfigurasi web atau kode yang kita tinggalkan untuk masuk kembali yang lain.

1. “make_sock:could not bind to address 0.0.0.0:80 no listening sockets available”
Jika kesalahan ini muncul saat memulai layanan web mungkin sudah beroperasi karena ada sesuatu yang mendengarkan pada port 80. Jika kami memiliki masalah, kami coba stop dulu dengan “service httpd/apache2 stop”, tapi masih mengencani kesalahan yang sama harus mematikan proses yang menempati port 80, membawa nomor pid pertama yang dijelaskan di atas dengan perintah lsof atau netstat dan menggunakan tombol “kill - s 9” perintah pid “untuk memaksanya berhenti.

2. “Tidak ada file atau direktori seperti itu:apache2:Tidak dapat membuka file log kesalahan /var/log/apache2/error.log”
Dengan kesalahan ini, server web menunjukkan bahwa awal tidak dapat menulis di log yang ditetapkan konfigurasinya, entah karena foldernya tidak ada, karena tidak bisa membuat filenya atau karena filenya ada tapi izin/penggunanya tidak benar. Untuk mengatasinya, kita harus menganalisis semua faktor ini dan memungkinkan pengguna server web dapat menulis ke file itu dan meluncurkan kembali prosesnya.

3. “Memulai httpd:Kesalahan sintaks pada baris xxx dari /etc/httpd/conf/httpd.conf:DocumentRoot harus berupa direktori”
Terkadang kesalahan mengarahkan kita ke layanan web konfigurasi titik yang tepat. Dalam hal ini kami akan memeriksa file konfigurasi yang dimaksud, dan menganalisis yang mungkin gagal tepat pada baris yang ditunjukkan. Dalam hal ini "DocumentRoot" yang merupakan root dari server web tidak dapat diakses oleh ini, mirip dengan solusi poin 2.


Linux
  1. Status Sistem dan Server

  2. Instal IIS dan konfigurasikan situs web

  3. Memecahkan masalah jaringan Windows Server

  1. Daftar Kesalahan Umum (dan Solusi) saat Menginstal dan Mengonfigurasi Layanan OpenStack Nova

  2. Daftar Kesalahan Paling Umum (dan Solusi) Saat Menginstal OpenStack Image Service SEKILAS

  3. Disk sistem dan disk data FAQ

  1. Membuat dan Mengelola Snapshot

  2. Vhost dan server memblokir dasar-dasar

  3. Apa itu 500 Internal Server Error