Siapkan Berbagi NFS di Debian
NFS adalah sistem file berbasis jaringan yang memungkinkan komputer untuk mengakses file di seluruh jaringan komputer. Panduan ini menjelaskan bagaimana Anda dapat mengekspos folder melalui NF
Nginx adalah perangkat lunak server web open-source yang dirancang dengan mempertimbangkan konkurensi tinggi, yang dapat digunakan sebagai server HTTP / HTTPS, server proxy terbalik, server proxy email, penyeimbang beban perangkat lunak, terminator TLS, server caching dan banyak lagi!
Ini adalah perangkat lunak yang sangat modular. Bahkan beberapa bagian perangkat lunak yang tampaknya "built-in", seperti GZIP atau SSL, sebenarnya dibuat sebagai modul yang dapat diaktifkan dan dinonaktifkan selama waktu pembuatan.
Ini memiliki modul inti (asli) dan modul pihak ketiga (eksternal) yang dibuat oleh komunitas. Saat ini, ada lebih dari seratus modul pihak ketiga yang dapat kita manfaatkan.
Ditulis dalam C, ini adalah perangkat lunak yang cepat dan ringan.
Menginstal Nginx dari kode sumber relatif mudah - unduh versi terbaru dari kode sumber Nginx, konfigurasikan, bangun, dan instal.
Anda harus memilih apakah akan mengunduh versi utama atau versi stabil, tetapi membangunnya tetap sama.
Dalam panduan ini, kami akan mengkompilasi versi utama Nginx pada Debian 10 (buster). Kami akan menggunakan semua modul yang tersedia di versi open-source Nginx.
Anda mungkin bertanya mengapa seseorang dapat mengkompilasi Nginx dari suatu sumber ketika Anda dapat menggunakan paket yang sudah disiapkan. Berikut adalah beberapa alasan mengapa Anda ingin mengkompilasi perangkat lunak tertentu sendiri:
Nginx Open Source tersedia dalam dua versi:
Nginx memiliki dua jenis modul yang dapat Anda manfaatkan: modul inti dan modul pihak ketiga.
Pengembang inti Nginx membangun modul inti, dan mereka adalah bagian dari perangkat lunak itu sendiri.
Komunitas membangun modul pihak ketiga, dan Anda dapat menggunakannya untuk memperluas fungsionalitas. Ada banyak modul pihak ketiga yang bermanfaat.
Modul statis ada di Nginx dari versi pertama. Modul dinamis diperkenalkan dengan Nginx 1.9.11+ pada Februari 2016.
Dengan modul statis, satu set modul yang merupakan biner Nginx diperbaiki pada waktu kompilasi oleh ./configure
skrip. Modul statis menggunakan --with-foo_bar_module
atau --add-module=PATH
sintaksis.
Untuk mengkompilasi modul inti (standar) sebagai dinamis kami tambahkan =dynamic
, misalnya --with-http_image_filter_module=dynamic
.
Untuk mengkompilasi modul pihak ketiga sebagai dinamis, kami menggunakan --add-dynamic-module=/path/to/module
sintaks, dan kemudian kami memuatnya dengan menggunakan load_module
arahan dalam konteks global nginx.conf
file.
Dibandingkan dengan beberapa perangkat lunak UNIX / Linux lainnya, Nginx cukup ringan dan tidak memiliki banyak ketergantungan perpustakaan. Konfigurasi build default tergantung pada hanya 3 perpustakaan yang akan diinstal: OpenSSL / LibreSSL / BoringSSL, Zlib dan PCRE.
CATATAN : Nginx juga dapat dikompilasi terhadap pustaka LibreSSL dan BoringSSL bukan OpenSSL.
Periksa versi Debian.
lsb_release -ds
# Debian GNU/Linux 10 (buster)
Buat pengguna biasa dengan sudo
akses.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
CATATAN : Ganti johndoe
dengan nama pengguna Anda .
Beralih ke pengguna baru.
su - johndoe
Siapkan zona waktu.
sudo dpkg-reconfigure tzdata
Perbarui perangkat lunak sistem operasi Anda.
sudo apt update && sudo apt upgrade -y
Instal paket yang diperlukan.
sudo apt install -y software-properties-common ufw
Nginx adalah program yang ditulis dalam C, jadi Anda harus menginstal alat kompiler terlebih dahulu. Pasang build-essential
, git
dan tree
.
sudo apt install -y build-essential git tree
Unduh versi utama terbaru dari kode sumber Nginx dan bongkar arsip kode sumber. Kode sumber Nginx didistribusikan sebagai arsip terkompresi, seperti kebanyakan perangkat lunak Unix dan Linux.
wget https://nginx.org/download/nginx-1.17.2.tar.gz && tar zxvf nginx-1.17.2.tar.gz
Unduh kode sumber dependensi Nginx wajib dan ekstrak.
# 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
Instal dependensi Nginx opsional.
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.gz
file. Kami tidak membutuhkannya lagi.
rm -rf *.tar.gz
Masukkan direktori sumber Nginx.
cd ~/nginx-1.17.2
Untuk direktori daftar file dan file yang menyusun kode sumber Nginx dengan baik 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 bantuan, Anda dapat melihat daftar lengkap opsi waktu kompilasi Nginx dengan menjalankan yang berikut ini.
./configure --help
# To see want core modules can be built as dynamic run:
./configure --help | grep -F =dynamic
Konfigurasikan, kompilasi, dan instal 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 kompilasi, navigasikan ke ~
direktori home ( ) Anda.
cd ~
Simbol /usr/lib/nginx/modules
ke /etc/nginx/modules
. Ini adalah tempat standar untuk modul Nginx.
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Cetak versi Nginx, versi kompiler, 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 grup sistem dan pengguna 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 potensi 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 file unit Nginx systemd.
sudo vim /etc/systemd/system/nginx.service
Isi /etc/systemd/system/nginx.service
file dengan konten 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
Aktifkan Nginx untuk memulai saat boot dan segera mulai Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Periksa apakah Nginx akan secara otomatis memulai setelah reboot.
sudo systemctl is-enabled nginx.service
# enabled
Periksa statusnya.
sudo systemctl status nginx.service
CATATAN : Anda dapat memverifikasi bahwa Nginx berjalan dengan masuk ke domain situs Anda atau alamat IP di browser web. Anda akan melihat halaman selamat datang Nginx. Itu indikator bahwa Nginx sudah aktif dan berjalan di VPS Anda.
Buat profil aplikasi UFW Nginx.
sudo vim /etc/ufw/applications.d/nginx
Salin / rekatkan konten berikut ke dalam /etc/ufw/applications.d/nginx
file.
[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
Validasi bahwa profil aplikasi UFW dibuat dan dikenali.
sudo ufw app list
# Available applications:
# Nginx Full
# Nginx HTTP
# Nginx HTTPS
# OpenSSH
Nginx, secara default, menghasilkan .default
file cadangan di /etc/nginx
. Hapus .default
file dari /etc/nginx
direktori.
sudo rm /etc/nginx/*.default
Tempatkan penyorotan sintaks konfigurasi Nginx untuk editor Vim ~/.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/
CATATAN : Dengan melakukan langkah di atas, Anda akan mendapatkan sintaks yang bagus saat mengedit file konfigurasi Nginx di Vim editor.
Buat conf.d
, snippets
, sites-available
dan sites-enabled
direktori dalam /etc/nginx
.
sudo mkdir /etc/nginx/{conf.d,snippets,sites-available,sites-enabled}
Ubah izin dan kepemilikan grup file log Nginx.
sudo chmod 640 /var/log/nginx/*
sudo chown nginx:adm /var/log/nginx/access.log /var/log/nginx/error.log
Buat konfigurasi rotasi log untuk Nginx.
sudo vim /etc/logrotate.d/nginx
Isi file dengan teks berikut, lalu 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
}
Hapus semua file yang diunduh dari direktori home.
cd ~
rm -rf nginx-1.17.2/ openssl-1.1.1c/ pcre-8.43/ zlib-1.2.11/
Itu dia. Sekarang, Anda memiliki versi terbaru Nginx diinstal. Itu dikompilasi secara statis terhadap beberapa perpustakaan penting seperti OpenSSL. Seringkali, versi yang disediakan sistem OpenSSL sudah usang. Dengan menggunakan metode pemasangan ini dengan OpenSSL versi yang lebih baru, Anda dapat memanfaatkan cipher seperti CHACHA20_POLY1305
dan protokol seperti TLS 1.3 yang tersedia di OpenSSL 1.1.1
. Selain itu, dengan mengkompilasi biner Anda sendiri, Anda dapat menyesuaikan fungsionalitas apa yang akan disediakan Nginx Anda, yang jauh lebih fleksibel daripada menginstal biner pra-bangun.
NFS adalah sistem file berbasis jaringan yang memungkinkan komputer untuk mengakses file di seluruh jaringan komputer. Panduan ini menjelaskan bagaimana Anda dapat mengekspos folder melalui NF
Pendahuluan MySQL memiliki fitur hebat yang dikenal sebagai tampilan. Tampilan adalah kueri yang disimpan. Pikirkan mereka sebagai alias untuk permintaan yang panjang. Dalam panduan ini,
Menggunakan Sistem yang Berbeda? Thelia adalah alat sumber terbuka untuk membuat situs web e-bisnis dan mengelola konten online yang ditulis dalam PHP. Kode sumber thelia i
Artikel ini akan mengajarkan Anda cara mengatur chroot jail di Debian. Saya berasumsi bahwa Anda menggunakan Debian 7.x. Jika Anda menjalankan Debian 6 atau 8, ini mungkin berhasil, bu
Pendahuluan Cara mudah untuk menyiapkan server VPN pada Debian adalah dengan PiVPN. PiVPN adalah penginstal dan pembungkus untuk OpenVPN. Ini menciptakan perintah sederhana untuk Anda
EasyEngine (ee) adalah alat Python yang memungkinkan Anda untuk mengelola situs Wordpress di Nginx dengan mudah dan otomatis. Menggunakan EasyEngine, Anda tidak perlu dea
Menggunakan Sistem yang Berbeda? BlogoText CMS adalah Content Management System (CMS) yang sederhana dan ringan, gratis, dan engine blog minimalis
Menggunakan Sistem yang Berbeda? InvoicePlane adalah aplikasi faktur sumber terbuka dan gratis. Kode sumbernya dapat ditemukan di repositori Github ini. Panduan ini
Menggunakan Sistem yang Berbeda? Backdrop CMS 1.8.0 adalah Content Management System (CMS) yang sederhana dan fleksibel, ramah seluler, gratis dan terbuka yang memungkinkan kami
Menggunakan Sistem yang Berbeda? BookStack adalah platform sederhana, self-host, mudah digunakan untuk mengatur dan menyimpan informasi. BookStack sepenuhnya gratis dan terbuka
Menggunakan Sistem yang Berbeda? Pagekit 1.0 CMS adalah Content Management System (CMS) yang indah, modular, dapat diperpanjang dan ringan, dengan
Pendahuluan Sistem Linux dilengkapi dengan alat pemantauan secara default seperti top, df, dan du yang membantu memonitor proses dan ruang disk. Namun sering kali, mereka ar
Munin adalah alat pemantauan untuk mensurvei proses dan sumber daya di mesin Anda dan menyajikan informasi dalam grafik melalui antarmuka web. Gunakan tindak lanjutnya
Menggunakan Sistem yang Berbeda? TLS 1.3 adalah versi protokol Transport Layer Security (TLS) yang diterbitkan pada 2018 sebagai standar yang diusulkan dalam RFC 8446
Menggunakan Sistem yang Berbeda? PyroCMS adalah CMS open source yang ditulis dalam PHP. Kode sumber PyroCMS dihosting di GitHub. Dalam panduan ini berjalan dengan baik melalui keseluruhan
Menggunakan Sistem yang Berbeda? Redaxscript 3.2 CMS adalah Content Management System (CMS) yang modern dan sangat ringan, gratis dan open source dengan roket
Pendahuluan Dalam tutorial ini, kita akan membahas proses menambahkan seluruh rentang IP / subnet ke server Linux yang menjalankan CentOS, Debian, atau Ubuntu. Prosesnya
Dalam panduan ini, kami akan menyiapkan Counter Strike: Server game sumber pada Debian 7. Perintah ini diuji pada Debian 7 tetapi perintah itu juga harus berfungsi
PBX In A Flash 5 (PIAF5) adalah sistem operasi berbasis Debian 8 yang mengubah Vultr VPS Anda menjadi PBX yang lengkap. Ia memiliki fitur berikut, dan banyak lagi.
Menggunakan Sistem yang Berbeda? Dolibarr adalah perencanaan sumber daya perusahaan sumber terbuka (ERP) dan manajemen hubungan pelanggan (CRM) untuk bisnis. Dolibarr
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut