Bagaimana Menyusun Nginx Dari Sumber di Debian 10

Pengenalan

Nginx adalah perisian pelayan web sumber terbuka yang direka dengan pertimbangan tinggi, yang dapat digunakan sebagai pelayan HTTP / HTTPS, pelayan proksi terbalik, pelayan proksi surat, pengimbang beban perisian, penghentian TLS, pelayan caching dan banyak lagi!

Ia adalah perisian yang sangat modular. Bahkan beberapa bahagian perisian yang kelihatan "terbina dalam", seperti GZIP atau SSL, sebenarnya diciptakan sebagai modul yang dapat diaktifkan dan dinonaktifkan semasa waktu pembuatan.

Ia mempunyai modul teras (asli) dan modul pihak ketiga (luaran) yang dibuat oleh komuniti. Sekarang ini, terdapat lebih dari seratus modul pihak ketiga yang dapat kita gunakan.

Ditulis dalam C, ini adalah perisian yang pantas dan ringan.

Memasang Nginx dari kod sumber agak mudah - muat turun versi terkini kod sumber Nginx, konfigurasikan, bina, dan pasangkannya.

Anda perlu memilih sama ada memuat turun garis utama atau versi stabil, tetapi membinanya sama.

Dalam panduan ini, kami akan menyusun versi utama Nginx pada Debian 10 (buster). Kami akan menggunakan semua modul yang tersedia dalam versi sumber terbuka Nginx.

Mengapa menyusun dan memasang Nginx dari sumber

Anda mungkin bertanya mengapa akan menggabungkan Nginx dari sumber apabila anda boleh menggunakan pakej yang disediakan. Berikut adalah beberapa sebab mengapa anda mungkin ingin menyusun perisian tertentu sendiri:

  • Untuk mengawal pilihan konfigurasi.
  • Untuk memasang perisian di mana sahaja anda suka. Anda juga boleh memasang beberapa versi perisian yang sama.
  • Untuk mengawal versi yang anda pasang. Pengedaran tidak selalunya sentiasa dikemas kini dengan versi terkini semua pakej, terutamanya add-ons untuk pakej perisian.
  • Untuk lebih memahami bagaimana perisian berfungsi.

Stabil berbanding versi utama

Nginx Open Source boleh didapati dalam dua versi:

  • Mainline - Termasuk ciri terkini dan pembetulan pepijat dan sentiasa terkini. Ia boleh dipercayai, tetapi mungkin termasuk beberapa modul eksperimen, dan mungkin juga mempunyai sebilangan bug baru.
  • Stabil - Tidak termasuk semua ciri terkini, tetapi mempunyai pembetulan pepijat kritikal yang selalu disokong ke versi utama.

Modul teras berbanding modul pihak ketiga

Nginx mempunyai dua jenis modul yang boleh anda gunakan: modul teras dan modul pihak ketiga.

Pembangun inti Nginx membina modul teras, dan mereka adalah sebahagian daripada perisian itu sendiri.

Komuniti membina modul pihak ketiga, dan anda boleh menggunakannya untuk memperluas fungsi. Terdapat banyak modul pihak ketiga yang bermanfaat.

Modul statik berbanding modul dinamik

Modul statik terdapat di Nginx dari versi pertama. Modul dinamik diperkenalkan dengan Nginx 1.9.11+ pada Februari 2016.

Dengan modul statik, sekumpulan modul yang membentuk binari Nginx diperbaiki pada waktu kompilasi oleh ./configureskrip. Penggunaan --with-foo_bar_moduleatau --add-module=PATHsintaks modul statik .

Sebagai =dynamiccontoh, untuk menyusun modul teras (standard) sebagai dinamik, kita tambahkan --with-http_image_filter_module=dynamic.

Untuk menyusun modul pihak ketiga sebagai dinamik, kami menggunakan --add-dynamic-module=/path/to/modulesintaks, dan kemudian kami memuatkannya dengan menggunakan load_modulearahan dalam konteks global nginx.conffail.

Keperluan untuk membina Nginx dari sumber

Sebagai perbandingan dengan beberapa perisian UNIX / Linux yang lain, Nginx agak ringan dan tidak mempunyai banyak ketergantungan perpustakaan. Konfigurasi binaan lalai bergantung kepada hanya 3 perpustakaan yang akan dipasang: OpenSSL / LibreSSL / BoringSSL, Zlib dan PCRE.

CATATAN : Nginx juga dapat disusun terhadap LibreSSL dan perpustakaan crypto BoringSSL dan bukannya OpenSSL.

Sebelum awak bermula

Semak versi Debian.

lsb_release -ds
# Debian GNU/Linux 10 (buster)

Buat pengguna biasa dengan sudoakses.

adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe

NOTA : Gantikan johndoedengan nama pengguna anda .

Beralih kepada pengguna baru.

su - johndoe

Sediakan zon waktu.

sudo dpkg-reconfigure tzdata

Kemas kini perisian sistem operasi anda.

sudo apt update && sudo apt upgrade -y

Pasang pakej yang diperlukan.

sudo apt install -y software-properties-common ufw

Bina Nginx dari sumber

Nginx adalah program yang ditulis dalam bahasa C, jadi pertama-tama anda perlu memasang alat penyusun. Pasang build-essential, gitdan tree.

sudo apt install -y build-essential git tree

Muat turun versi utama terkini kod sumber Nginx dan bongkar arkib kod sumber. Kod sumber Nginx diedarkan sebagai arkib termampat, seperti kebanyakan perisian Unix dan Linux.

wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz

Muat turun kod sumber kebergantungan Nginx dan ambilnya.

# PCRE version 8.43
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz && tar xzvf pcre-8.43.tar.gz

# zlib version 1.2.11
wget https://www.zlib.net/zlib-1.2.11.tar.gz && tar xzvf zlib-1.2.11.tar.gz

# OpenSSL version 1.1.1c
wget https://www.openssl.org/source/openssl-1.1.1c.tar.gz && tar xzvf openssl-1.1.1c.tar.gz

Pasang kebergantungan Nginx pilihan.

sudo apt install -y perl libperl-dev libgd3 libgd-dev libgeoip1 libgeoip-dev geoip-bin libxml2 libxml2-dev libxslt1.1 libxslt1-dev

Bersihkan semua .tar.gzfail. Kami tidak memerlukannya lagi.

rm -rf *.tar.gz

Masukkan direktori sumber Nginx.

cd ~/nginx-1.17.2

Untuk direktori dan fail senarai ukuran yang baik yang menyusun kod sumber Nginx dengan tree.

tree -L 2 .

Salin halaman manual ke /usr/share/man/man8/.

sudo cp ~/nginx-1.17.2/man/nginx.8 /usr/share/man/man8
sudo gzip /usr/share/man/man8/nginx.8
ls /usr/share/man/man8/ | grep nginx.8.gz
# Check that man page for Nginx is working
man nginx

Untuk mendapatkan bantuan, anda dapat melihat senarai lengkap pilihan masa kompilasi Nginx terkini dengan menjalankan perkara berikut.

./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic

Konfigurasikan, kompilasi dan pasang Nginx.

./configure --prefix=/etc/nginx \
            --sbin-path=/usr/sbin/nginx \
            --modules-path=/usr/lib/nginx/modules \
            --conf-path=/etc/nginx/nginx.conf \
            --error-log-path=/var/log/nginx/error.log \
            --pid-path=/var/run/nginx.pid \
            --lock-path=/var/run/nginx.lock \
            --user=nginx \
            --group=nginx \
            --build=Debian \
            --builddir=nginx-1.17.2 \
            --with-select_module \
            --with-poll_module \
            --with-threads \
            --with-file-aio \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_realip_module \
            --with-http_addition_module \
            --with-http_xslt_module=dynamic \
            --with-http_image_filter_module=dynamic \
            --with-http_geoip_module=dynamic \
            --with-http_sub_module \
            --with-http_dav_module \
            --with-http_flv_module \
            --with-http_mp4_module \
            --with-http_gunzip_module \
            --with-http_gzip_static_module \
            --with-http_auth_request_module \
            --with-http_random_index_module \
            --with-http_secure_link_module \
            --with-http_degradation_module \
            --with-http_slice_module \
            --with-http_stub_status_module \
            --with-http_perl_module=dynamic \
            --with-perl_modules_path=/usr/share/perl/5.26.1 \
            --with-perl=/usr/bin/perl \
            --http-log-path=/var/log/nginx/access.log \
            --http-client-body-temp-path=/var/cache/nginx/client_temp \
            --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
            --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
            --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
            --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
            --with-mail=dynamic \
            --with-mail_ssl_module \
            --with-stream=dynamic \
            --with-stream_ssl_module \
            --with-stream_realip_module \
            --with-stream_geoip_module=dynamic \
            --with-stream_ssl_preread_module \
            --with-compat \
            --with-pcre=../pcre-8.43 \
            --with-pcre-jit \
            --with-zlib=../zlib-1.2.11 \
            --with-openssl=../openssl-1.1.1c \
            --with-openssl-opt=no-nextprotoneg \
            --with-debug

make
sudo make install

Setelah penyusunan, pergi ke direktori rumah anda ( ~).

cd ~

Symlink /usr/lib/nginx/moduleskepada /etc/nginx/modules. Ini adalah tempat standard untuk modul Nginx.

sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules

Cetak versi Nginx, versi penyusun, dan konfigurasikan parameter skrip.

sudo nginx -V

# nginx version: nginx/1.17.2 (Debian)
# built by gcc 8.3.0 (Debian 8.3.0-6)
# built with OpenSSL 1.1.1c  28 May 2019
# TLS SNI support enabled
# configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules . . .
# . . .
# . . .

Buat kumpulan dan pengguna sistem Nginx.

sudo adduser --system --home /nonexistent --shell /bin/false --no-create-home --disabled-login --disabled-password --gecos "nginx user" --group nginx
# Check that user and group are created
sudo tail -n 1 /etc/passwd /etc/group /etc/shadow

Periksa sintaks Nginx dan kemungkinan kesalahan.

sudo nginx -t
# Will throw this error -> nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)

# Create NGINX cache directories and set proper permissions
sudo mkdir -p /var/cache/nginx/client_temp /var/cache/nginx/fastcgi_temp /var/cache/nginx/proxy_temp /var/cache/nginx/scgi_temp /var/cache/nginx/uwsgi_temp
sudo chmod 700 /var/cache/nginx/*
sudo chown nginx:root /var/cache/nginx/*

# Re-check syntax and potential errors. 
sudo nginx -t

Buat fail unit sistem Nginx.

sudo vim /etc/systemd/system/nginx.service

Isi /etc/systemd/system/nginx.servicefile dengan kandungan berikut.

[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

[Install]
WantedBy=multi-user.target

Dayakan Nginx untuk memulakan boot dan mulailah Nginx dengan segera.

sudo systemctl enable nginx.service
sudo systemctl start nginx.service

Periksa sama ada Nginx akan bermula secara automatik selepas but semula.

sudo systemctl is-enabled nginx.service
# enabled

Semak statusnya.

sudo systemctl status nginx.service

CATATAN : Anda boleh mengesahkan bahawa Nginx berjalan dengan pergi ke domain atau alamat IP laman web anda dalam penyemak imbas web. Anda akan melihat halaman selamat datang Nginx. Itulah penunjuk yang Nginx telah dan berjalan pada VPS anda.

Buat profil aplikasi Nginx UFW.

sudo vim /etc/ufw/applications.d/nginx

Salin / tampal kandungan berikut ke dalam /etc/ufw/applications.d/nginxfail.

[Nginx HTTP]
title=Web Server (Nginx, HTTP)
description=Small, but very powerful and efficient web server
ports=80/tcp

[Nginx HTTPS]
title=Web Server (Nginx, HTTPS)
description=Small, but very powerful and efficient web server
ports=443/tcp

[Nginx Full]
title=Web Server (Nginx, HTTP + HTTPS)
description=Small, but very powerful and efficient web server
ports=80,443/tcp

Sahkan bahawa profil aplikasi UFW dibuat dan dikenali.

sudo ufw app list

# Available applications:
  # Nginx Full
  # Nginx HTTP
  # Nginx HTTPS
  # OpenSSH

Nginx, secara lalai, menghasilkan .defaultfail sandaran di /etc/nginx. Alih keluar .defaultfail dari /etc/nginxdirektori.

sudo rm /etc/nginx/*.default

Letakkan penataan sintaks bagi konfigurasi Nginx untuk editor Vim ke ~/.vim.

# For regular non-root user
mkdir ~/.vim/
cp -r ~/nginx-1.17.2/contrib/vim/* ~/.vim/
# For root user
sudo mkdir /root/.vim/
sudo cp -r ~/nginx-1.17.2/contrib/vim/* /root/.vim/

NOTA : Dengan melakukan langkah di atas, anda akan mendapat penunjuk sintaks yang bagus apabila mengedit fail konfigurasi Nginx dalam editor Vim.

Buat conf.d, snippets, sites-availabledan sites-enableddirektori dalam /etc/nginx.

sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}

Tukar kebenaran dan pemilikan kumpulan fail log Nginx.

sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log

Buat konfigurasi putaran log untuk Nginx.

sudo vim /etc/logrotate.d/nginx

Tandakan fail dengan teks berikut, kemudian simpan dan keluar.

/var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 640 nginx adm
    sharedscripts
    postrotate
            if [ -f /var/run/nginx.pid ]; then
                    kill -USR1 `cat /var/run/nginx.pid`
            fi
    endscript
}

Keluarkan semua fail yang dimuat turun dari direktori rumah.

cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/

Ringkasan

Itu sahaja. Sekarang, anda mempunyai versi terbaru Nginx yang dipasang. Ia disusun secara statik terhadap beberapa perpustakaan penting seperti OpenSSL. Sering kali, versi OpenSSL dibekalkan sistem sudah lapuk. Dengan menggunakan kaedah ini memasang dengan versi OpenSSL yang lebih baru, anda boleh mengambil kesempatan daripada ciphers moden seperti CHACHA20_POLY1305dan protokol seperti TLS 1.3 yang boleh didapati di OpenSSL 1.1.1. Lebih-lebih lagi, dengan menyusun binari anda sendiri, anda dapat menyesuaikan fungsi apa yang akan disediakan oleh Nginx anda, yang jauh lebih fleksibel daripada memasang binari yang telah dibina sebelumnya.



Leave a Comment

Sediakan NFS Share di Debian

Sediakan NFS Share di Debian

NFS adalah sistem fail berasaskan rangkaian yang membolehkan komputer mengakses fail di seluruh rangkaian komputer. Panduan ini menerangkan bagaimana anda boleh mendedahkan folder di atas NF

Menggunakan Paparan MySQL pada Debian 7

Menggunakan Paparan MySQL pada Debian 7

Pengenalan MySQL mempunyai ciri hebat yang dikenali sebagai pandangan. Paparan adalah pertanyaan yang disimpan. Anggap mereka sebagai alias untuk pertanyaan yang panjang. Dalam panduan ini,

Menyiapkan Chroot di Debian

Menyiapkan Chroot di Debian

Artikel ini akan mengajar anda cara menyediakan penjara chroot di Debian. Saya menganggap bahawa anda menggunakan Debian 7.x. Sekiranya anda menjalankan Debian 6 atau 8, ini mungkin berfungsi,

Cara Memasang PiVPN pada Debian

Cara Memasang PiVPN pada Debian

Pengenalan Cara mudah untuk menyediakan pelayan VPN di Debian adalah dengan PiVPN. PiVPN adalah pemasang dan pembungkus untuk OpenVPN. Ini membuat perintah mudah untuk anda

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Cara Pasang Edisi Komuniti GitLab (CE) 11.x pada Debian 9

Menggunakan Sistem Berbeza? Sejak GitHub diambil alih oleh Microsoft, sebilangan besar pembangun telah merancang untuk memindahkan repositori kod mereka sendiri dari github.co

Pasang PBX dalam Flash 5 pada Debian 8

Pasang PBX dalam Flash 5 pada Debian 8

PBX In A Flash 5 (PIAF5) adalah sistem operasi berasaskan Debian 8 yang menjadikan Vultr VPS anda menjadi PBX lengkap. Ia mempunyai ciri-ciri berikut, dan banyak lagi.

Cara Membangun Brotli Dari Sumber pada Debian 9

Cara Membangun Brotli Dari Sumber pada Debian 9

Menggunakan Sistem Berbeza? Brotli adalah kaedah pemampatan baru dengan nisbah mampatan yang lebih baik daripada Gzip. Kod sumbernya dihoskan secara umum di Github. Thi

Pasang Lynis di Debian 8

Pasang Lynis di Debian 8

Pengenalan Lynis adalah alat audit sistem sumber terbuka yang percuma yang digunakan oleh banyak pentadbir sistem untuk mengesahkan integriti dan mengeraskan sistem mereka. Saya

Cara Memasang Neos CMS pada Debian 9

Cara Memasang Neos CMS pada Debian 9

Menggunakan Sistem Berbeza? Neos adalah Platform Aplikasi Kandungan dengan CMS dan kerangka aplikasi di terasnya. Panduan ini akan menunjukkan cara pemasangan

Cara Memasang InvoicePlane pada Debian 9

Cara Memasang InvoicePlane pada Debian 9

Menggunakan Sistem Berbeza? InvoicePlane adalah aplikasi invois sumber bebas dan terbuka. Kod sumbernya boleh didapati di repositori Github ini. Panduan ini

Cara Memasang BookStack pada Debian 9

Cara Memasang BookStack pada Debian 9

Menggunakan Sistem Berbeza? BookStack adalah platform yang mudah dihoskan sendiri, mudah digunakan untuk mengatur dan menyimpan maklumat. BookStack adalah percuma dan terbuka

Cara Pasang Matomo Analytics pada Debian 9

Cara Pasang Matomo Analytics pada Debian 9

Menggunakan Sistem Berbeza? Matomo (dahulunya Piwik) adalah platform analitik sumber terbuka, alternatif terbuka kepada Google Analytics. Sumber Matomo dihoskan o

Cara Memasang X-Cart 5 pada Debian 10

Cara Memasang X-Cart 5 pada Debian 10

Menggunakan Sistem Berbeza? X-Cart adalah platform eCommerce sumber terbuka yang sangat fleksibel dengan banyak ciri dan integrasi. Kod sumber X-Cart adalah hoste

Pantau Status Pelayan Debian dengan Munin

Pantau Status Pelayan Debian dengan Munin

Munin adalah alat pemantauan untuk meninjau proses dan sumber di mesin anda dan menyampaikan maklumat dalam grafik melalui antara muka web. Gunakan ikutan

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Cara Memasang Pembaca RSS Tiny Tiny pada Debian 9 LAMP VPS

Menggunakan Sistem Berbeza? Tiny Tiny RSS Reader adalah pembaca berita dan agregator suapan berita (RSS / Atom) berasaskan laman web bebas dan terbuka sumber bebas dan terbuka, yang direka untuk semua

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Tambahkan Julat Alamat IP ke Pelayan Anda (CentOS / Ubuntu / Debian)

Pengenalan Dalam tutorial ini, kita akan membahas proses penambahan keseluruhan rangkaian / subnet IP ke pelayan Linux yang menjalankan CentOS, Debian, atau Ubuntu. Proses

Menyiapkan Counter Strike: Sumber pada Debian

Menyiapkan Counter Strike: Sumber pada Debian

Dalam panduan ini, kami akan menyiapkan Counter Strike: Server permainan sumber di Debian 7. Perintah ini diuji pada Debian 7 tetapi mereka juga harus berfungsi

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Cara Memasang Revolusi MODX pada VPS Debian 9 LAMP

Menggunakan Sistem Berbeza? MODX Revolution adalah Sistem Pengurusan Kandungan (CMS) bertaraf perusahaan yang pantas, fleksibel, berskala, bebas dan terbuka, bertulis i

Cara Memasang Dolibarr pada Debian 9

Cara Memasang Dolibarr pada Debian 9

Menggunakan Sistem Berbeza? Dolibarr adalah perancangan sumber perusahaan sumber terbuka (ERP) dan pengurusan hubungan pelanggan (CRM) untuk perniagaan. Dolibarr

Pasang Mailcow pada Debian 7

Pasang Mailcow pada Debian 7

Pengenalan Mailcow adalah suite mailserver ringan berdasarkan pelbagai pakej, seperti DoveCot, Postfix dan banyak pakej sumber terbuka yang lain. Mailcow dll

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut