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

Bagaimana untuk memasang pelayan Redis pada CentOS 7

WBOY
Lepaskan: 2023-05-31 08:25:21
ke hadapan
1525 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

Nyahzip.

tar zxvf redis-3.0.4.tar.gz
Salin selepas log masuk

Masukkan direktori nyahzip.

cd redis-3.0.4
Salin selepas log masuk

Gunakan Make untuk menyusun fail sumber.

make
Salin selepas log masuk

Pasang

Masukkan direktori fail sumber.

cd src
Salin selepas log masuk

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

cp redis-server redis-cli /usr/local/bin
Salin selepas log masuk

Sebaik-baiknya salin sentinel, penanda aras dan semak.

cp redis-sentinel redis-benchmark redis-check-aof redis-check-dump /usr/local/bin
Salin selepas log masuk

Buat folder konfigurasi redis.

mkdir /etc/redis
Salin selepas log masuk

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

mkdir -p /var/lib/redis/6379
Salin selepas log masuk
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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk
Salin selepas log masuk

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
Salin selepas log masuk

Sekarang edit fail ini dan konfigurasikan parameter.

vi /etc/redis/6379.conf
Salin selepas log masuk
daemonize

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

daemonize no
Salin selepas log masuk
pidfile

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

pidfile /var/run/redis_6379.pid
Salin selepas log masuk
port

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

port 6379
Salin selepas log masuk
loglevel

Tetapkan tahap log.

loglevel notice
Salin selepas log masuk
fail log

Ubah suai laluan fail log.

logfile /var/log/redis_6379.log
Salin selepas log masuk
dir

Tetapkan direktori kepada /var/lib/redis/6379

dir /var/lib/redis/6379
Salin selepas log masuk

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
Salin selepas log masuk

Hadkan kebenaran fail soket.

unixsocketperm 700
Salin selepas log masuk

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

redis-cli -s /tmp/redis.sock
Salin selepas log masuk
requirepass

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

requirepass "bTFBx1NYYWRMTUEyNHhsCg"
Salin selepas log masuk
rename-command

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

CONFIG GET *
Salin selepas log masuk

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"
Salin selepas log masuk

如何在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
Salin selepas log masuk

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

save 300 10
Salin selepas log masuk

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

save 60 10000
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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

vm.overcommit_memory = 1net.core.somaxconn=512
Salin selepas log masuk

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

echo never > /sys/kernel/mm/transparent_hugepage/enabled
Salin selepas log masuk
Salin selepas log masuk

这样就可以启动了,通过设置这些选项你就可以部署 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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan