Nginx dalam Persekitaran Berbekas
Gunakan dan urus Nginx dengan berkesan dalam bekas Docker dan kelompok Kubernetes.
Nginx dalam Persekitaran Berbekas ialah pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) merangkumi sejumlah 4 pelajaran.
Mengapa Nginx Perlu Dimasukkan ke dalam Kontena?
Menjalankan Nginx dalam kontena seperti Docker menawarkan banyak manfaat. Ia menyediakan persekitaran yang konsisten, bagi memastikan Nginx berkelakuan sama di mana-mana sahaja, daripada komputer riba anda hingga ke persekitaran produksi.
Kelebihan utama termasuk:
- Kemudahalihan: Memindahkan aplikasi Nginx dengan mudah merentas sistem yang berbeza.
- Pengasingan: Nginx berjalan dalam persekitaran terasingnya sendiri untuk mengelakkan konflik.
- Kebolehskalaan: Memulakan tika Nginx baharu dengan pantas apabila trafik meningkat.
- Kecekapan Sumber: Kontena berkongsi kernel OS hos, lalu menggunakan sumber yang lebih sedikit berbanding VM tradisional.
Dockerfile Nginx Pertama Anda
Dockerfile ialah skrip yang mengandungi arahan untuk membina imej Docker. Untuk memasukkan Nginx ke dalam kontena, kita biasanya bermula dengan imej Nginx rasmi, kemudian menambahkan konfigurasi tersuai atau fail statik kita.
Berikut ialah Dockerfile asas untuk mencipta imej Nginx:
FROM nginx:latest
COPY ./nginx.conf /etc/nginx/nginx.conf
COPY ./html /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]Menjalankan Nginx dalam Docker
Setelah anda mempunyai Dockerfile (serta, secara pilihan, fail nginx.conf dan html anda), anda boleh membina imej dan menjalankannya.
Mula-mula, bina imej itu (namakannya my-nginx):
docker build -t my-nginx .
Kemudian, jalankan kontena daripada imej anda dengan memetakan port 8080 pada hos anda kepada port 80 dalam kontena:
docker run -d -p 8080:80 --name my-nginx-container my-nginxKonfigurasi Nginx Tersuai dalam Docker
Anda sering perlu menggunakan nginx.conf tersuai. Daripada memasukkannya terus ke dalam imej dengan COPY (seperti dalam contoh Dockerfile), anda boleh melekapkannya sebagai volum. Ini membolehkan anda menukar konfigurasi tanpa membina semula imej.
Berikut ialah cara untuk melekapkan fail ./custom-nginx.conf setempat ke dalam kontena:
docker run -d -p 8080:80 \
--name my-nginx-custom \
-v ./custom-nginx.conf:/etc/nginx/nginx.conf \
nginx:latestNginx dengan Docker Compose
Untuk aplikasi yang mempunyai berbilang perkhidmatan (contohnya, Nginx sebagai proksi songsang untuk API bahagian belakang), Docker Compose amat berguna. Ia membolehkan anda mentakrif dan menjalankan aplikasi Docker berbilang kontena dengan satu fail YAML.
Contoh ini menyediakan Nginx untuk memproksikan permintaan kepada perkhidmatan web ringkas:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
app:
image: httpd:alpine
expose:
- "8080"Asas Nginx dan Kubernetes
Kubernetes (K8s) ialah platform orkestrasi kontena sumber terbuka. Apabila menggunakan Nginx dalam persekitaran produksi, Kubernetes menyediakan ciri lanjutan seperti:
- Penggunaan Automatik: Konfigurasi deklaratif untuk keadaan yang dikehendaki.
- Penskalaan: Menambah atau mengurangkan tika Nginx dengan mudah.
- Pemulihan Kendiri: Memulakan semula atau menggantikan kontena Nginx yang gagal secara automatik.
- Pengimbangan Beban: Mengagihkan trafik merentas berbilang tika Nginx.
Konsep K8s utama untuk Nginx termasuk Pod, Deployment dan Service.
Menggunakan Nginx dalam Kubernetes
Dalam Kubernetes, anda mentakrifkan aplikasi menggunakan fail YAML. Objek Deployment mengurus sekumpulan Pod yang serupa, serta memastikan bilangan tika Nginx yang ditetapkan sentiasa berjalan.
Berikut ialah Deployment Kubernetes asas untuk Nginx:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80Mendedahkan Nginx dengan Service K8s
Service Kubernetes ialah cara abstrak untuk mendedahkan aplikasi yang berjalan pada sekumpulan Pod. Ia menyediakan alamat IP dan nama DNS yang stabil untuk penggunaan Nginx anda, walaupun Pod digantikan.
Jenis Service yang lazim untuk Nginx termasuk NodePort (mendedahkan Nginx pada satu port merentas semua nod kluster) dan LoadBalancer (berintegrasi dengan pengimbang beban awan).
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePortKonfigurasi Nginx dengan ConfigMaps
Untuk mengurus konfigurasi Nginx dalam Kubernetes, ConfigMaps ialah kaedah yang disarankan. ConfigMap menyimpan data bukan sulit dalam pasangan kunci-nilai, yang kemudiannya boleh dilekapkan sebagai fail ke dalam Pod Nginx anda.
Ini membolehkan anda mengemas kini konfigurasi Nginx tanpa membina semula imej Docker atau mengubah suai YAML Deployment secara langsung.
apiVersion: v1
kind: ConfigMap
metadata:
name: nginx-config
data:
nginx.conf: |
events { worker_connections 1024; }
http {
server {
listen 80;
location / {
return 200 'Hello from Nginx in K8s!';
}
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-configmap-deployment
spec:
selector:
matchLabels:
app: nginx-configmap
template:
metadata:
labels:
app: nginx-configmap
spec:
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: nginx-config-volume
mountPath: /etc/nginx/nginx.conf
subPath: nginx.conf
volumes:
- name: nginx-config-volume
configMap:
name: nginx-configUji Pengetahuan Kontena Anda
Antara cara berikut, yang manakah sah untuk mengurus fail konfigurasi Nginx tersuai apabila Nginx dijalankan dalam kontena Docker atau kluster Kubernetes?
Imbas Kembali: Nginx dalam Kontena
Kita telah meneroka cara menggunakan dan mengurus Nginx dengan berkesan dalam persekitaran berkontena, dengan tumpuan pada Docker dan Kubernetes.
- Docker: Menyediakan pengasingan dan kemudahalihan, lalu membolehkan Nginx berjalan secara konsisten.
- Dockerfile: Digunakan untuk membina imej Nginx tersuai, termasuk konfigurasi tersuai.
- Docker Compose: Mengorkestrakan persediaan Nginx berbilang kontena untuk pembangunan.
- Kubernetes: Menawarkan orkestrasi kukuh untuk produksi, dengan ciri seperti penskalaan dan pemulihan kendiri.
- Deployment & Service: Objek teras K8s untuk mengurus dan mendedahkan Pod Nginx.
- ConfigMaps: Cara standard K8s untuk mengurus konfigurasi Nginx secara dinamik.
Penguasaan konsep ini penting untuk penggunaan Nginx moden yang boleh diskalakan!
Pelajari Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Nginx dalam Persekitaran Berbekas” percuma?
Ya — teks penuh “Nginx dalam Persekitaran Berbekas” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway), tingkat taraf kepada CoddyKit PRO. Kursus Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Nginx dalam Persekitaran Berbekas”?
Gunakan dan urus Nginx dengan berkesan dalam bekas Docker dan kelompok Kubernetes. Anda berlatih Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway)?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Nginx dalam Persekitaran Berbekas” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) ini?
Ya. Setiap pelajaran Gerbang API & Proksi Songsang (Nginx + Spring Cloud Gateway) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pengelogan dan Metrik Nginx
- Penalaan Prestasi Nginx
- Nginx dalam Persekitaran Berbekas
- Muat Semula Tanpa Henti & Pengujian Konfigurasi