Jadual Kandungan
Tingkatkan Tindak Balas: Melepaskan Kuasa Nginx untuk Penggunaan Yang Mudah
Amit Kumar Rout ・ 9 Dis '23
Rumah hujung hadapan web tutorial js Melabuhkan Aplikasi Bahagian Hadapan Anda dengan Nginx untuk Penggunaan Yang Lancar

Melabuhkan Aplikasi Bahagian Hadapan Anda dengan Nginx untuk Penggunaan Yang Lancar

Dec 28, 2024 pm 12:40 PM

pengenalan

Lazimnya, menggunakan aplikasi bahagian hadapan memerlukan pengasingan penyajian aset statik daripada API bahagian belakang. Pendekatan yang baik untuk ini adalah dengan menggabungkan Nginx sebagai proksi terbalik dan pelayan web dengan Docker untuk kontena. Panduan ini membawa anda melalui proses cara menggunakan aplikasi frontend menggunakan Nginx dan Docker.

Prasyarat

Cara Mengatur Aplikasi Frontend Menggunakan Nginx dan Docker
Pengenalan
Menggunakan aplikasi bahagian hadapan dengan cekap selalunya melibatkan pengasingan penyajian aset statik daripada API bahagian belakang. Pendekatan yang hebat adalah menggabungkan Nginx sebagai proksi terbalik dan pelayan web dengan Docker untuk kontena. Panduan ini membimbing anda melalui proses menggunakan aplikasi frontend menggunakan Nginx dan Docker.

Prasyarat
Untuk mengikuti panduan ini, anda sepatutnya mempunyai:

  • Pengetahuan asas React (atau mana-mana rangka kerja frontend).
  • Keakraban dengan Docker dan Nginx.

Menyediakan Aplikasi

Struktur projek yang jelas memudahkan penggunaan. Letakkan semua fail yang diperlukan dalam folder untuk membina imej Docker anda. Fail ini hendaklah mengandungi:

  • binaan/ folder (mengandungi fail statik sedia pengeluaran).
  • Fail Docker(mentakrifkan cara imej dibina).
  • nginx.conf (konfigurasi Nginx tersuai).
  • didayakan tapak/ (konfigurasi Nginx tambahan pilihan).

Untuk penjelasan mendalam tentang konfigurasi Nginx, rujuk ini

Dockerizing Your Frontend Application with Nginx for Seamless Deployment

Tingkatkan Tindak Balas: Melepaskan Kuasa Nginx untuk Penggunaan Yang Mudah

Amit Kumar Rout ・ 9 Dis '23

#javascript #tutorial #react #nginx

Langkah-langkah:

  1. Bina versi pengeluaran aplikasi anda:
npm run build
Salin selepas log masuk

Arahan ini mencipta binaan/ direktori yang mengandungi fail statik yang dioptimumkan.

  1. Buat fail Docker: Tulis fail Docker berikut untuk menentukan bekas:
FROM nginx:latest

# Clean the default HTML directory and remove default nginx.conf
RUN rm -rf /usr/share/nginx/html/*
RUN rm /etc/nginx/nginx.conf

# Copy custom Nginx configuration
COPY nginx.conf /etc/nginx/

# Copy the production build files into Nginx's HTML directory
COPY build/ /usr/share/nginx/html/

# Copy additional Nginx configurations (if any)
COPY ./sites-enabled/* /etc/nginx/sites-enabled/

# Expose port 80
EXPOSE 80

# Start Nginx
CMD ["nginx", "-g", "daemon off;"]
Salin selepas log masuk

Membina Imej Docker

Setelah fail anda sedia, bina imej Docker:

docker build -t my-app-img:prod .
Salin selepas log masuk

Jika menggunakan VM lain, anda boleh membungkus imej sebagai fail .tar:

docker save my-app-img > my-app-img.tar
Salin selepas log masuk

Menjalankan Imej Docker

Pilihan 1: Menjalankan imej secara terus

  1. Muat imej Docker daripada fail .tar (jika memindahkan antara sistem):
cat my-app-img.tar | docker load
Salin selepas log masuk
  1. Jalankan bekas:
docker run -itd -p 80:80 --name my-app my-app-img
Salin selepas log masuk

Ini memulakan bekas, mendedahkannya pada port 80.

Pilihan 2: Menjalankan Docker Compose

Mencipta fail docker-compose.yml:

version: "3"
services:
  web:
    container_name: my_app
    image: my-app-img
    ports:
      - "80:80"
    volumes:
      - ./template:/etc/nginx/templates/
    environment:
      NGINX_ENVSUBST_OUTPUT_DIR: /etc/nginx/sites-enabled
Salin selepas log masuk

Kemudian, mulakan bekas:

docker-compose up -d
Salin selepas log masuk

Kesimpulan

Penggunaan Nginx dan Docker untuk menggunakan aplikasi frontend memberikan penyelesaian yang kukuh dan berskala. Ini kerana ia memisahkan aset statik daripada API bahagian belakang, memberikan prestasi terbaik. Sesuaikan konfigurasi Nginx anda untuk memenuhi keperluan anda, seperti:

  • Menambah SSL/TLS untuk sokongan HTTPS.
  • Hidupkan caching untuk prestasi tinggi.

Persediaan ini membolehkan aplikasi bahagian hadapan anda boleh dipercayai dalam persekitaran sedia pengeluaran.

Jika anda mempunyai sebarang cadangan untuk menambah baik proses, sila tinggalkan di bahagian komen. Jika anda mendapati siaran ini membantu, sila like dan kongsikannya.

Selamat Pengekodan!

Atas ialah kandungan terperinci Melabuhkan Aplikasi Bahagian Hadapan Anda dengan Nginx untuk Penggunaan Yang Lancar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apa yang perlu saya lakukan jika saya menghadapi percetakan kod yang dihiasi untuk resit kertas terma depan? Apr 04, 2025 pm 02:42 PM

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Demystifying JavaScript: Apa yang berlaku dan mengapa penting Demystifying JavaScript: Apa yang berlaku dan mengapa penting Apr 09, 2025 am 12:07 AM

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.

Siapa yang dibayar lebih banyak Python atau JavaScript? Siapa yang dibayar lebih banyak Python atau JavaScript? Apr 04, 2025 am 12:09 AM

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Bagaimana untuk menggabungkan elemen array dengan ID yang sama ke dalam satu objek menggunakan JavaScript? Apr 04, 2025 pm 05:09 PM

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

Adakah JavaScript sukar belajar? Adakah JavaScript sukar belajar? Apr 03, 2025 am 12:20 AM

Pembelajaran JavaScript tidak sukar, tetapi ia mencabar. 1) Memahami konsep asas seperti pembolehubah, jenis data, fungsi, dan sebagainya. 2) Pengaturcaraan asynchronous tuan dan melaksanakannya melalui gelung acara. 3) Gunakan operasi DOM dan berjanji untuk mengendalikan permintaan tak segerak. 4) Elakkan kesilapan biasa dan gunakan teknik debugging. 5) Mengoptimumkan prestasi dan mengikuti amalan terbaik.

Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido?
atau:
Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Bagaimana untuk mencapai kesan menatal paralaks dan kesan animasi elemen, seperti laman web rasmi Shiseido? atau: Bagaimanakah kita dapat mencapai kesan animasi yang disertai dengan menatal halaman seperti laman web rasmi Shiseido? Apr 04, 2025 pm 05:36 PM

Perbincangan mengenai realisasi kesan animasi tatal dan elemen Parallax dalam artikel ini akan meneroka bagaimana untuk mencapai yang serupa dengan laman web rasmi Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ... ...

Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Evolusi JavaScript: Trend Semasa dan Prospek Masa Depan Apr 10, 2025 am 09:33 AM

Trend terkini dalam JavaScript termasuk kebangkitan TypeScript, populariti kerangka dan perpustakaan moden, dan penerapan webassembly. Prospek masa depan meliputi sistem jenis yang lebih berkuasa, pembangunan JavaScript, pengembangan kecerdasan buatan dan pembelajaran mesin, dan potensi pengkomputeran IoT dan kelebihan.

Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Perbezaan dalam Konsol.Log Output Result: Mengapa kedua -dua panggilan berbeza? Apr 04, 2025 pm 05:12 PM

Perbincangan mendalam mengenai punca-punca utama perbezaan dalam output konsol.log. Artikel ini akan menganalisis perbezaan hasil output fungsi Console.log dalam sekeping kod dan menerangkan sebab -sebab di belakangnya. � ...

See all articles