GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara Menginstal dan mengatur Nginx sebagai proxy OpenSUSE Leap 15.3

Dalam panduan ini kita akan mempelajari cara menginstal Nginx di OpenSUSE Leap 15.3 dan mengaturnya sebagai server proxy. Kami akan menyiapkan host virtual Nginx yang mem-proxy permintaan dari domain ke layanan yang mendengarkan di port.

Konten Terkait

  • Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Ubuntu 20.04
  • Cara Menginstal tumpukan Apache PHP 7.4 (LAMP) di Rocky Linux/Centos 8
  • Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Debian 11
  • Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di Debian 11

Daftar Isi

  1. Memastikan bahwa server selalu mutakhir
  2. Menginstal Nginx di OpenSUSE Leap 15.3
  3. Memulai dan mengaktifkan layanan Nginx di OpenSUSE
  4. Menyiapkan layanan proxy
  5. Membuat Host Virtual Nginx untuk mem-proksi permintaan
  6. Menguji konfigurasi

1. Memastikan bahwa server sudah diperbarui

Sebelum melanjutkan, itu selalu merupakan praktik yang baik untuk memastikan bahwa server up to date. Gunakan perintah ini untuk mencapainya

sudo zypper refresh
sudo zypper update -y

2. Menginstal Nginx di OpenSUSE Leap 15.3

Nginx, sebagai server web berkinerja tinggi yang stabil dan dengan konsumsi sumber daya yang sangat rendah. Nginx memiliki arsitektur asinkron yang jauh lebih skalabel, berdasarkan peristiwa.

Nginx tersedia di repo UpenSUSE default. Instal menggunakan perintah ini:

sudo zypper install -y nginx

Konfirmasi nginx yang diinstal

~> zypper info nginx
Loading repository data...
Reading installed packages...


Information for package nginx:
------------------------------
Repository     : Main Repository
Name           : nginx
Version        : 1.19.8-3.6.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 2.2 MiB
Installed      : Yes
Status         : up-to-date
Source package : nginx-1.19.8-3.6.1.src
Summary        : A HTTP server and IMAP/POP3 proxy server
Description    :
    nginx [engine x] is a HTTP server and IMAP/POP3 proxy server written by Igor Sysoev.
    It has been running on many heavily loaded Russian sites for more than two years.

3. Memulai dan mengaktifkan layanan nginx

Layanan Nginx yang diinstal tidak dimulai secara default. Untuk memulai layanan, gunakan perintah ini:

sudo systemctl start nginx

Konfirmasikan bahwa layanan aktif dan berjalan menggunakan perintah ini:

~> sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-12-20 18:56:15 UTC; 36s ago
    Process: 31740 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
   Main PID: 31741 (nginx)
      Tasks: 2 (limit: 4587)
     CGroup: /system.slice/nginx.service
             ├─31741 nginx: master process /usr/sbin/nginx -g daemon off;
             └─31742 nginx: worker process

Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 20 18:56:15 ip-10-2-40-44 nginx[31740]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 20 18:56:15 ip-10-2-40-44 systemd[1]: Started The nginx HTTP and reverse proxy server.

Untuk mengaktifkan layanan saat boot, gunakan perintah ini:

sudo systemctl enable nginx

4. Menyiapkan Layanan ke proxy

Dalam contoh ini, kita akan menggunakan layanan sederhana yang telah saya buat. Saya memiliki layanan golang di sini tetapi jangan ragu untuk menggunakan layanan Anda.

➜ /tmp/gosimple
2021/12/20 23:38:34 service running, listening on 3000

Uji layanan

➜ curl -iL http://127.0.0.1:3000/
HTTP/1.1 200 OK
Date: Mon, 20 Dec 2021 20:39:01 GMT
Content-Length: 12
Content-Type: text/plain; charset=utf-8

Hello World!

5. Membuat virtual host Nginx untuk mem-proxy permintaan

Nginx memungkinkan Anda untuk melayani beberapa situs menggunakan virtual host. Konsep host virtual memungkinkan lebih dari satu situs Web pada satu sistem atau server Web. Server dibedakan berdasarkan nama hostnya. Pengunjung ke situs Web dirutekan dengan nama host atau alamat IP ke host virtual yang benar. Hosting virtual memungkinkan perusahaan berbagi satu server untuk masing-masing memiliki nama domain sendiri.

Blok server Nginx dapat digunakan untuk merangkum detail konfigurasi dan menghosting lebih dari satu domain di satu server. Kami akan membuat host virtual untuk situs kami (site1.citizix.com ).

Konfigurasi virtual host Nginx disimpan di direktori /etc/nginx/conf.d/ . Mari buat konfigurasi untuk situs kita:

sudo vim /etc/nginx/conf.d/site1.citizix.com.conf

Tambahkan konten berikut

server {
    listen 80;
    server_tokens off;
    client_max_body_size 100M;
    server_name site1.citizix.com;

    access_log /var/log/nginx/site1.citizix.com.log;
    error_log  /var/log/nginx/site1.citizix.com.log;

    root /opt/simpleapp;

    if ($host !~* ^(site1.citizix.com)$) {
        return 444;
    }

    location / {
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
        proxy_pass http://127.0.0.1:3000;
    }
}

Mari kita restart nginx agar konfigurasi dapat diterapkan:

sudo systemctl restart nginx

6. Menguji konfigurasi

Dalam contoh ini, kita akan menggunakan domain site1.citizix.com untuk virtual host tetapi bebas menggunakan domain pilihan Anda. Harap dicatat bahwa DNS untuk domain yang akan digunakan harus sudah dikonfigurasi untuk menunjuk ke alamat IP server. Konfirmasikan dengan:

dig -t A site1.citizix.com

Jika Anda belum mengonfigurasi pengaturan DNS Anda atau hanya tidak ingin situs tersebut ditayangkan, Anda dapat memodifikasi file host komputer Anda. Untuk melakukannya, gunakan perintah berikut di CLI komputer lokal Anda

sudo vim /etc/hosts

Kemudian, tambahkan alamat IP server Anda yang sebenarnya diikuti dengan nama domain yang Anda konfigurasikan, misalnya:

10.2.11.11 site1.citizix.com

Dengan pengaturan itu kita bisa membuat permintaan ke domain kita. Bagi saya itu berfungsi dengan baik!

➜ curl -iL http://site1.citizix.com
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Dec 2021 20:51:42 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 12
Connection: keep-alive

Hello World!

Menutup

Kami telah berhasil menginstal dan mengatur Nginx untuk bertindak sebagai proxy dalam panduan ini!


OpenSuse
  1. Cara Menginstal PostgreSQL dan phpPgAdmin di OpenSUSE Leap 42.1

  2. Cara menginstal dan menggunakan Podman di OpenSUSE Leap 15.3

  3. Bagaimana menginstal Java 17 di OpenSUSE Leap 15.3

  1. Cara Menginstal Seafile dengan Nginx di openSUSE Leap 42.1

  2. Cara Menginstal Nginx Dengan PHP-FPM Dan MySQL Di openSUSE 12.1

  3. Bagaimana menginstal Mongodb 5 di Opensuse Leap 15.3

  1. Cara menginstal dan mengatur PHP dan Apache (LAMP stack) di OpenSUSE Leap 15.3

  2. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di OpenSUSE Leap 15.3

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3