Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memasang pelayan Redis pada CentOS 7

Bagaimana untuk memasang pelayan Redis pada CentOS 7

WBOY
WBOYke hadapan
2023-05-31 08:25:211418semak imbas

Redis ialah perisian storan data berbilang platform sumber terbuka yang ditulis dalam ANSI C. Redis boleh menyokong Lua, C, Java, Python, Perl, PHP dan banyak bahasa lain.

Bina Redis

redis pada masa ini tidak mempunyai pakej pemasangan RPM rasmi, kami perlu menyusun daripada kod sumber, dan untuk menyusun, kami perlu memasang Make dan GCC.

Jika GCC dan Make belum dipasang, gunakan yum untuk memasangnya.

yum install gcc make

Muat turun arkib tar dari laman web rasmi.

curl http://download.redis.io/releases/redis-3.0.4.tar.gz -o redis-3.0.4.tar.gz

Nyahzip.

tar zxvf redis-3.0.4.tar.gz

Masukkan direktori nyahzip.

cd redis-3.0.4

Gunakan Make untuk menyusun fail sumber.

make

Pasang

Masukkan direktori fail sumber.

cd src

Salin pelayan dan klien Redis ke /usr/local/bin.

cp redis-server redis-cli /usr/local/bin

Sebaik-baiknya salin sentinel, penanda aras dan semak.

cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin

Buat folder konfigurasi redis.

mkdir /etc/redis

Buat direktori yang sah untuk menyimpan data di bawah /var/lib/redis

mkdir -p /var/lib/redis/6379
Parameter sistem

Untuk redis berfungsi dengan baik, beberapa parameter kernel perlu dikonfigurasikan.

Konfigurasikan vm.overcommit_memory kepada 1, yang boleh mengelakkan data dipotong Lihat di sini untuk mendapatkan butiran.

sysctl -w vm.overcommit_memory=1

Ubah suai bilangan maksimum sambungan tunggakan untuk melebihi nilai tcp-backlog dalam redis.conf, iaitu nilai lalai 511. Maklumat lanjut tentang terowong rangkaian IP berasaskan sysctl boleh didapati di kernel.org.

sysctl -w net.core.somaxconn=512

Batalkan sokongan untuk halaman besar yang telus, kerana ini akan menyebabkan kelewatan dan masalah capaian memori semasa penggunaan redis.

echo never > /sys/kernel/mm/transparent_hugepage/enabled

redis.conf

redis.conf ialah fail konfigurasi redis Walau bagaimanapun, anda akan melihat bahawa nama fail ini ialah 6379.conf, dan nombor ini ialah port rangkaian yang. redis mendengar. Untuk menjalankan berbilang kejadian redis, skema penamaan berikut disyorkan.

Salin sampel redis.conf ke /etc/redis/6379.conf.

cp redis.conf /etc/redis/6379.conf

Sekarang edit fail ini dan konfigurasikan parameter.

vi /etc/redis/6379.conf
daemonize

Tetapkan daemonize kepada tidak, systemd memerlukannya untuk dijalankan di latar depan, jika tidak redis akan menutup telefon secara tiba-tiba.

daemonize no
pidfile

Tetapkan pidfile kepada /var/run/redis_6379.pid.

pidfile /var/run/redis_6379.pid
port

Jika anda tidak bercadang untuk menggunakan port lalai, anda boleh mengubah suainya.

port 6379
loglevel

Tetapkan tahap log.

loglevel notice
fail log

Ubah suai laluan fail log.

logfile /var/log/redis_6379.log
dir

Tetapkan direktori kepada /var/lib/redis/6379

dir /var/lib/redis/6379

Keselamatan

Terdapat beberapa operasi yang boleh meningkatkan keselamatan.

Soket Unix

Memandangkan program klien dan program pelayan biasanya dijalankan pada mesin yang sama, tidak perlu mendengar soket rangkaian. Jika ini serupa dengan kes penggunaan anda, anda boleh menggunakan soket unix dan bukannya soket rangkaian Untuk melakukan ini, anda perlu mengkonfigurasi port kepada 0, dan kemudian mengkonfigurasi pilihan berikut untuk mendayakan soket unix.

Tetapkan fail soket soket unix.

 unixsocket /tmp/redis.sock

Hadkan kebenaran fail soket.

unixsocketperm 700

Kini untuk redis-cli mengaksesnya, parameter -s harus digunakan untuk menunjuk ke fail soket.

redis-cli -s /tmp/redis.sock
requirepass

Anda mungkin memerlukan akses jauh, jika ya, maka anda harus menetapkan kata laluan supaya ia diperlukan sebelum setiap operasi.

requirepass "bTFBx1NYYWRMTUEyNHhsCg"
rename-command

Bayangkan output arahan berikut. Ya, ini akan mengeluarkan konfigurasi pelayan, jadi anda harus menafikan akses ini apabila boleh.

CONFIG GET *

Anda boleh menggunakan perintah "rename-command" untuk mengehadkan atau melarang penggunaan arahan ini atau arahan lain. Anda mesti memberikan nama arahan dan nama alternatif. Untuk menjadikannya lebih selamat untuk mengharamkan arahan, nama alternatifnya hendaklah ditetapkan kepada rentetan kosong supaya tiada siapa boleh meneka nama arahan itu.

rename-command FLUSHDB "FLUSHDB_MY_SALT_G0ES_HERE09u09u"rename-command FLUSHALL ""rename-command CONFIG "CONFIG_MY_S4LT_GO3S_HERE09u09u"

如何在CentOS 7上安装Redis服务器

Gunakan kata laluan untuk mengakses melalui soket unix dan ubah suai arahan

Snapshot

Secara lalai, redis Set data akan dibuang secara berkala ke fail dump.rdb dalam direktori yang kami tetapkan. Anda boleh mengkonfigurasi kekerapan pembuangan menggunakan perintah simpan, yang parameter pertamanya ialah rangka masa dalam beberapa saat dan parameter kedua ialah bilangan pengubahsuaian yang perlu dibuat pada fail data.

Setiap 15 minit dan kunci telah diubah suai sekurang-kurangnya sekali.

save 900 1

Setiap 5 minit dan kunci telah diubah suai sekurang-kurangnya 10 kali.

save 300 10

Setiap 1 minit dan kunci telah diubah suai sekurang-kurangnya 10,000 kali.

save 60 10000

Fail /var/lib/redis/6379/dump.rdb mengandungi longgokan set data dalam memori sejak simpanan terakhir. Kerana ia mula-mula mencipta fail sementara dan kemudian menggantikan fail dump sebelumnya, tiada masalah rasuah data Anda tidak perlu risau, anda hanya boleh menyalin fail tersebut.

Mulakan semasa but

Anda boleh menggunakan systemd untuk menambah redis pada senarai permulaan sistem.

Salin contoh fail init_script ke /etc/init.d. Beri perhatian kepada nombor port yang diwakili oleh nama skrip.

cp utils/redis_init_script /etc/init.d/redis_6379

Sekarang kita mahu menggunakan systemd, jadi buat fail unit bernama redis_6379.service di bawah /etc/systems/system.

vi /etc/systemd/system/redis_6379.service

Isi kandungan berikut, lihat systemd.service untuk mendapatkan butiran.

[Unit]Description=Redis on port 6379[Service]Type=forkingExecStart=/etc/init.d/redis_6379 startExecStop=/etc/init.d/redis_6379 stop[Install]WantedBy=multi-user.target

现在添加我之前在 /etc/sysctl.conf 里面修改过的内存过量使用和 backlog 最大值的选项。

vm.overcommit_memory = 1net.core.somaxconn=512

对于透明巨页内存支持,并没有直接 sysctl 命令可以控制,所以需要将下面的命令放到 /etc/rc.local 的结尾。

echo never > /sys/kernel/mm/transparent_hugepage/enabled

这样就可以启动了,通过设置这些选项你就可以部署 redis 服务到很多简单的场景,然而在 redis.conf 还有很多为复杂环境准备的 redis 选项。在一些情况下,你可以使用 replication 和 Sentinel 来提高可用性,或者将数据分散在多个服务器上,创建服务器集群。

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

Atas ialah kandungan terperinci Bagaimana untuk memasang pelayan Redis pada CentOS 7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam