Cara Pasang dan Konfigur CyberPanel pada Server CentOS 7 anda
Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu
Buildbot adalah sumber terbuka, berasaskan Python, alat integrasi berterusan untuk mengautomasikan pembinaan, pengujian, dan penggunaan perisian. Buildbot terdiri daripada satu atau lebih tuan rumah Buildbot dan beberapa pekerja. Buildbot master atau Buildmaster mempunyai perintah pusat sistem. Ia bertanggung jawab untuk mengurus lingkungan binaan, pekerja dan membuat semua keputusan tentang mengirim pekerjaan kepada pekerja. Buildmaster mengesan perubahan dalam repositori kod dan menghantar arahan atau pekerjaan kepada pekerja untuk dilaksanakan. Pekerja melaksanakan tugas dan mengembalikan hasilnya kepada Buildmaster. Buildmaster kemudian memberitahu pemaju melalui beberapa saluran yang disokong. Dalam tutorial ini, kami akan memasang master dan pekerja Buildbot pada CentOS 7. Kami juga akan mengkonfigurasi pengesahan dan Nginx sebagai proksi terbalik yang dijamin.
Untuk tutorial ini, kami akan menggunakan 192.168.1.1
sebagai alamat IP awam dan ci.example.com
sebagai nama domain menunjuk ke arah Vultr. Sila pastikan untuk menggantikan semua contoh contoh nama domain dan alamat IP dengan yang sebenarnya.
Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Setelah sistem anda dikemas kini, terus pasang PostgreSQL.
Pasang Pip, yang merupakan pengurus pakej untuk Python.
sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip
Buildbot menyokong pelbagai jenis pelayan pangkalan data seperti MySQL, PostgreSQL, dan SQLite. Dalam tutorial ini, kami akan menggunakan PostgreSQL untuk menjadi hos pelayan pangkalan data Buildbot.
PostgreSQL adalah sistem pangkalan data objek-hubungan, yang dikenali untuk kestabilan dan kelajuannya. yum
Repositori lalai mengandungi versi lama PostgreSQL, jadi tambahkan repositori PostgreSQL.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Pasang pelayan pangkalan data PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inisialkan pangkalan data.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Mulakan pelayan PostgreSQL dan dayakannya secara automatik pada masa boot.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Tukar kata laluan untuk pengguna PostgreSQL lalai.
sudo passwd postgres
Log masuk sebagai pengguna PostgreSQL.
sudo su - postgres
Buat pengguna PostgreSQL baharu untuk Buildbot.
createuser bb_user
Anda boleh menggunakan mana-mana nama pengguna dan bukannya bb_user
, jika anda lebih suka. PostgreSQL menyediakan psql
shell untuk menjalankan pertanyaan pada pangkalan data. Beralih ke shell PostgreSQL.
psql
Tetapkan kata laluan untuk pengguna yang baru dibuat.
ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';
Gantikan DBPassword
dengan kata laluan yang selamat.
Buat pangkalan data baru untuk pemasangan Buildbot.
CREATE DATABASE buildbot OWNER bb_user;
Keluar dari psql
cangkerang.
\q
Beralih kepada sudo
pengguna.
exit
Edit pg_hba.conf
fail untuk mengaktifkan pengesahan berasaskan MD5.
sudo nano /var/lib/pgsql/10/data/pg_hba.conf
Cari baris berikut dan ubah nilai peer
dan ident
, di METHOD
lajur, ke trust
dan md5
, masing-masing.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
Setelah dikemas kini, konfigurasi akan kelihatan seperti teks berikut.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
Simpan fail dan keluar dari editor. Pasang penyesuai pangkalan data PostgreSQL untuk Python.
sudo pip install psycopg2
Restart PostgreSQL supaya perubahan tersebut dapat berkuatkuasa.
sudo systemctl restart postgresql-10
Pasang Buildbot menggunakan Pip.
sudo pip install 'buildbot[bundle]' pyopenssl service_identity
Arahan di atas akan memasang Buildbot bersama-sama dengan buildbot-www
, buildbot-worker
dan beberapa web plugin seperti buildbot-waterfall-view
.
Untuk memastikan bahawa Buildbot berjaya dipasang, anda boleh mengesahkan dengan memeriksa versi Buildbot.
buildbot --version
Keluarannya harus menyerupai teks berikut.
[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0
Ubah peraturan firewall anda untuk membenarkan port 8010
. Buildbot menggunakan port ini untuk mendengar permintaan web.
sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload
Buat pengguna baru yang tidak bernasib baik untuk menjalankan proses master dan pekerja Buildbot. Tidak digalakkan menjalankan perkhidmatan induk Buildbot sebagai root
pengguna.
sudo adduser buildbot
sudo passwd buildbot
Log masuk sebagai pengguna yang baru diwujudkan buildbot
.
sudo su - buildbot
Sediakan master Buildbot dalam /home/buildbot/master
direktori. Direktori ini akan mengandungi konfigurasi, status dan fail log setiap binaan.
buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
Pastikan untuk mengganti kelayakan pengguna pangkalan data dalam arahan di atas.
Catatan: Sekiranya anda ingin menggunakan pangkalan data SQLite dan bukannya PostgreSQL, hilangkan --db 'postgresql://bb_user:DBpassword@localhost/buildbot'
pilihannya. Pangkalan data SQLite akan dibuat dalam direktori yang sama.
Perintah di atas akan membuat ~/master
direktori untuk menyimpan fail Buildmaster. Ia juga akan menulis data ke dalam pangkalan data PostgreSQL. Anda akan mendapat output berikut.
[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master
Salin fail konfigurasi sampel ke fail konfigurasi langsung.
cp ~/master/master.cfg.sample ~/master/master.cfg
Edit fail konfigurasi.
nano ~/master/master.cfg
Cari baris berikut.
c['workers'] = [worker.Worker("example-worker", "pass")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["example-worker"],
factory=factory))
...
c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...
c['buildbotURL'] = "http://localhost:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
Konfigurasi di atas mempunyai entri untuk pekerja sampel. Kami akan mengubah suai sampel untuk pekerja yang akan kami jalankan localhost
. Tukar example-worker
ke mana-mana nama yang sesuai untuk localhost
pekerja dan ubah menjadi pass
beberapa kata laluan yang lain. Buat catatan nama pekerja dan kata laluan kerana kami memerlukannya kemudian dalam tutorial. Tukar nama pekerja dalam senarai pembina. Tukar nama aplikasi dan URL projek mengikut keperluan anda.
Tukar URL Buildbot dari localhost
ke nama domain sebenar atau alamat IP awam anda. Juga, sahkan bahawa maklumat pangkalan data dalam fail konfigurasi sesuai dengan kelayakan pangkalan data sebenar anda.
Pada akhir fail, tambahkan c['buildbotNetUsageData'] = None
. Parameter ini akan melumpuhkan menghantar maklumat versi perisian dan butiran penggunaan plugin kepada pemaju. Walau bagaimanapun, untuk membolehkan penghantaran maklumat penggunaan, tukar pilihan untuk Full
.
Konfigurasi harus seperti teks berikut.
c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...
c['builders'].append(
util.BuilderConfig(name="runtests",
workernames=["localhost-worker"],
factory=factory))
...
c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...
c['buildbotURL'] = "http://192.168.1.1:8010/"
...
c['db'] = {
'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...
c['buildbotNetUsageData'] = None
Simpan fail dan keluar dari editor. Periksa fail konfigurasi untuk kesilapan.
buildbot checkconfig ~/master
Jika fail konfigurasi tidak mempunyai ralat, anda akan melihat output berikut.
[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!
Sekarang segala-galanya dikonfigurasi dengan betul, anda boleh memulakan master Buildbot.
buildbot start ~/master
Anda akan melihat output berikut.
[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.
Sekarang tuan Buildbot telah bermula dengan betul, antara muka pengguna web boleh diakses di http://192.168.1.1:8010
. Anda harus melihat antara muka Buildbot yang berikut.
Oleh kerana kita telah mengubahsuai konfigurasi pekerja ~/master/master.cfg
, kita boleh teruskan mencipta pekerja baru.
buildbot-worker create-worker ~/worker localhost localhost-worker Password123
Pastikan anda menggunakan nama pekerja dan kata laluan yang sama seperti yang dinyatakan di dalam ~/master/master.cfg
fail. Sekiranya terdapat ketidakcocokan dalam nama atau kata laluan pekerja, pekerja tidak akan dapat menyambung ke tuan bangunan Buildbot. Anda akan melihat output berikut apabila pelaksanaan berjaya.
[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker
Maklumat tentang pekerja disimpan dalam /info
direktori. Edit maklumat pentadbiran tentang pemaju.
nano ~/worker/info/admin
Ganti nama contoh dengan nama sebenar dan e-mel anda.
Your Name <[email protected]>
Sekarang, buka fail yang mengandungi maklumat mengenai hos.
nano ~/worker/info/host
Gantikan arahan contoh dengan maklumat sebenar mengenai sistem host.
Localhost, CentOS 7
Maklumat pentadbir pekerja dan hos hanya digunakan untuk memberitahu pengguna mengenai sistem tersebut. Anda juga boleh menambah maklumat tambahan mengenai sistem seperti versi Buildbot dan versi Twisted.
Mulakan pekerja.
buildbot-worker start ~/worker
Hasilnya akan kelihatan seperti teks berikut.
[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.
Untuk memeriksa sama ada pekerja tersebut didaftarkan, pergi ke antara muka web Buildbot dan arahkan ke Builds >> Workers
dari navigasi kiri. Anda harus melihat bahawa pekerja sudah siap dan siap untuk dibina.
Untuk menjalankan binaan sampel, untuk memeriksa sama ada pekerja Buildbot berjaya berjalan, navigasi ke Builds >> Builders
. Klik pada runtests
nama pembina untuk membuka antara muka pembina dan klik pada Force
butang untuk memaksa membina. Berikan nama anda dan klik pada Start Build
butang untuk memulakan binaan. Oleh kerana ia adalah ujian sampel untuk memeriksa persekitaran Buildbot, ia akan selesai dalam beberapa saat. Anda akan mendapat mesej kejayaan dan hasilnya.
Walaupun master dan pekerja Buildbot dapat dengan mudah menggunakan perintah di atas, disarankan untuk menggunakan unit Systemd untuk menjalankan dan mengurus perkhidmatan Buildbot. Ini akan memastikan bahawa ia secara automatik bermula pada sistem semula dan kegagalan.
Nota: Beralih kepada sudo
pengguna sekali lagi dengan menjalankan sama ada exit
atau su <username>
. Mulai sekarang semua arahan perlu dilaksanakan oleh sudo
pengguna.
Hentikan pekerja Buildbot dan perkhidmatan induk yang sedang berjalan.
sudo su buildbot -c "buildbot stop /home/buildbot/master"
sudo su buildbot -c "buildbot-worker stop ~/worker"
Buat Fail unit sistem baru untuk tuan rumah Buildbot.
sudo nano /etc/systemd/system/buildbot.service
Isi fail.
[Unit]
Description=BuildBot master service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/master
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart
[Install]
WantedBy=multi-user.target
Mulakan tuan rumah Buildbot dan dayakannya secara automatik pada waktu boot.
sudo systemctl start buildbot
sudo systemctl enable buildbot
Buat fail unit Systemd baru untuk pekerja Buildbot.
sudo nano /etc/systemd/system/buildbot-worker.service
Isi fail.
[Unit]
Description=BuildBot worker service
After=network.target
[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart
[Install]
WantedBy=multi-user.target
Mulakan pekerja Buildbot dan aktifkannya secara automatik pada waktu boot.
sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker
Anda boleh menyemak status perkhidmatan.
sudo systemctl status buildbot buildbot-worker
Jika perkhidmatan berjalan lancar, anda akan melihat bahawa dalam output.
[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.
● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.
Secara lalai, pengesahan tidak diaktifkan di antara muka web Buildbot. Untuk laman web yang berhadapan dengan internet, sangat disyorkan untuk menyediakan pengesahan supaya hanya pengguna yang dibenarkan dapat melakukan tugas pentadbiran. Untuk menyiapkan pengesahan, buka semula fail konfigurasi induk Buildbot.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Tambahkan baris berikut ke hujung fail.
c['www']['authz'] = util.Authz(
allowRules = [
util.AnyEndpointMatcher(role="admins")
],
roleMatchers = [
util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})
Gantikan kedua-dua kejadian admin_user
dengan nama pengguna yang sebenarnya yang anda mahu gunakan dan AdminPassword
dengan kata laluan yang kuat.
Semak ralat dalam fail konfigurasi.
sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"
Mulakan semula perkhidmatan induk Buildbot supaya perubahan dapat berlaku.
sudo systemctl restart buildbot
Semak imbas antara muka web sekali lagi untuk melihat bahawa pengguna tanpa nama hanya dapat melihat perincian asas mengenai pelayan build. Sekarang, log masuk menggunakan kelayakan yang ditetapkan dalam master.cfg
fail dan anda akan melihat bahawa semua fungsi pentadbiran lain hanya tersedia untuk pengguna pentadbir yang log masuk.
Secara lalai, Buildbot mendengar kepada port 8010
pada sambungan tidak selamat. Mengamankan antara muka web dengan HTTPS
disarankan untuk memastikan bahawa data selamat semasa pengangkutan dari penyemak imbas ke pelayan. Di bahagian tutorial ini, kami akan memasang dan melindungi Nginx dengan sijil SSL percuma Let's Encrypt. Pelayan web Nginx akan berfungsi sebagai proksi terbalik untuk meneruskan permintaan yang masuk ke titik akhir HTTP Buildbot.
Pasang Nginx.
sudo yum -y install nginx
Mula Nginx dan aktifkannya secara automatik pada masa boot.
sudo systemctl start nginx
sudo systemctl enable nginx
Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.
sudo yum -y install certbot
Sebelum anda boleh meminta sijil, anda perlu membenarkan pelabuhan 80
dan 443
atau piawai HTTP
dan HTTPS
perkhidmatan melalui firewall. Juga, keluarkan port 8010
, yang mendengar sambungan yang tidak selamat.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload
Nota: Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang mana sijil yang akan dihasilkan mesti ditujukan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.
Menjana sijil SSL.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com
Sijil yang dihasilkan kemungkinan akan disimpan dalam /etc/letsencrypt/live/ci.example.com/
direktori. Sijil SSL akan disimpan sebagai fullchain.pem
dan kunci persendirian akan disimpan sebagai privkey.pem
.
Mari Sijikan sijil tamat tempoh dalam 90 hari, oleh itu, disyorkan untuk menyediakan pembaharuan automatik sijil menggunakan kerja-kerja Cron.
Buka fail kerja cron untuk root
pengguna.
sudo crontab -e
Tambahkan garisan berikut pada akhir fail.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil perlu tamat, ia akan memperbaharuinya secara automatik.
Sekarang, ubah fail konfigurasi lalai Nginx untuk menghilangkan default_server
garis.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Buat fail konfigurasi baru untuk antara muka web Buildbot.
sudo nano /etc/nginx/conf.d/buildbot.conf
Isi fail.
upstream buildbot {
server 127.0.0.1:8010;
}
server {
listen 80 default_server;
server_name ci.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name ci.example.com;
root html;
index index.html index.htm;
ssl on;
ssl_certificate /etc/letsencrypt/live/ci.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ci.example.com/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
access_log /var/log/nginx/buildbot.access.log;
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-Proto $scheme;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Host $host;
location / {
proxy_pass http://buildbot;
}
location /sse/ {
proxy_buffering off;
proxy_pass http://buildbot/sse/;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://buildbot/ws;
proxy_read_timeout 6000s;
}
}
Semak ralat dalam fail konfigurasi baru.
sudo nginx -t
Sekiranya anda melihat output berikut, konfigurasi bebas ralat.
[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika anda telah menerima beberapa jenis ralat, pastikan untuk memeriksa semula laluan ke sijil SSL. Mulakan semula pelayan web Nginx untuk melaksanakan perubahan konfigurasi.
sudo systemctl restart nginx
Buka fail konfigurasi Buildmaster.
sudo su buildbot -c "nano /home/buildbot/master/master.cfg"
Cari baris berikut.
c['buildbotURL'] = "http://192.168.1.1:8010/"
Tukar URL mengikut nama domain yang anda gunakan.
c['buildbotURL'] = "https://ci.example.com/"
Mulakan semula perkhidmatan induk Buildbot.
sudo systemctl restart buildbot
Kini anda boleh mengakses papan pemuka Buildbot di https://ci.example.com
. Anda akan melihat bahawa sambungan ke Buildbot kini diamankan dengan SSL.
Masuk menggunakan kelayakan pentadbir dan tambahkan saluran pertama anda untuk mula membina aplikasi anda.
Menggunakan Sistem Berbeza? Pengenalan CyberPanel adalah salah satu panel kawalan pertama di pasaran yang merupakan sumber terbuka dan menggunakan OpenLiteSpeed. Apa itu
Apache Maven adalah alat pengurusan projek perisian sumber terbuka dan bebas yang banyak digunakan untuk menyebarkan aplikasi berbasis Java. Prasyarat yang baru
FFmpeg adalah penyelesaian sumber terbuka yang popular untuk merakam, menukar, dan menstrim audio dan video, yang banyak digunakan dalam semua jenis perkhidmatan streaming dalam talian. Saya
Menggunakan Sistem Berbeza? Backdrop CMS 1.8.0 adalah Sistem Pengurusan Kandungan (CMS) sumber mudah alih, mudah alih, percuma dan terbuka yang membolehkan kami
Menggunakan Sistem Berbeza? AirSonic adalah pelayan streaming media sumber terbuka dan terbuka. Dalam tutorial ini, saya akan membimbing anda melalui proses penyebaran a
Pengenalan Komposer adalah pengurus pergantungan yang popular untuk PHP yang dapat mempermudah pemasangan dan kemas kini perpustakaan yang diperlukan untuk projek anda
RockMongo adalah alat Pengurusan MongoDB berasaskan web yang serupa dengan alat Pengurusan MySQL: phpMyAdmin. Tutorial ini akan merangkumi proses installin
.NET NET adalah rangka kerja pembangunan merentas platform terbuka yang disusun oleh Microsoft dan masyarakat NET yang semakin berkembang. Dengan bantuan .NE
Menggunakan Sistem yang berbeza? Netdata adalah bintang yang semakin meningkat dalam bidang pemantauan metrik sistem masa nyata. Berbanding dengan alat lain yang serupa, Netdata:
Menggunakan Sistem yang berbeza? Dalam tutorial ini, saya akan menerangkan cara menyediakan pelayan Starbound di CentOS 7. Prasyarat Anda perlu memiliki permainan ini untuk anda
Django adalah rangka kerja Python yang popular untuk menulis aplikasi web. Dengan Django, anda dapat membina aplikasi dengan lebih cepat, tanpa mencipta semula roda. Sekiranya anda mahu
Selamat datang ke tutorial Vultr yang lain. Di sini, anda akan belajar cara memasang dan menjalankan pelayan SAMP. Panduan ini ditulis untuk CentOS 6. Prasyarat Anda akan hadir
Revive Adserver adalah sistem penayangan iklan sumber terbuka dan bebas yang dapat digunakan untuk mengelola iklan di laman web, dalam aplikasi, dan / atau dalam pemutar video. Dalam artikel ini,
Parse Server adalah alternatif sumber terbuka untuk perkhidmatan backend Parse yang sedang ditutup. Sekiranya anda peminat perkhidmatan ini, anda masih boleh menikmati perkhidmatan ini
Menggunakan Sistem Berbeza? Elgg adalah mesin rangkaian sosial sumber terbuka yang membolehkan penciptaan persekitaran sosial seperti rangkaian sosial kampus dan
Pengenalan Caddy adalah program pelayan web yang muncul dengan sokongan asli untuk HTTP / 2 dan HTTPS automatik. Dengan kemudahan penggunaan dan keselamatan, Caddy dapat b
Gambaran Keseluruhan Artikel ini dimaksudkan untuk membantu anda mendapatkan cluster Kubernet dan berjalan dengan kubeadm dalam waktu singkat. Panduan ini akan menggunakan dua pelayan, di
Pengenalan Mengendalikan sistem Linux bermaksud seseorang menggunakan baris perintah lebih kerap daripada tidak. Perlu menaip nama direktori panjang berulang-ulang sebagai wel
OpenCart adalah penyelesaian keranjang belanja sumber terbuka yang popular yang direka untuk memberikan fungsi, kemudahan penggunaan, dan penampilan yang sangat baik. Dengan OpenCart, anda pasti
Menggunakan Sistem Berbeza? Pengenalan Sails.js adalah rangka kerja MVC untuk Node.js, mirip dengan Ruby on Rails. Ia menjadikan untuk mengembangkan aplikasi moden
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
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'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
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 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?
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.
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!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
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