lnmp +redis 发布企业门户网站( 单机部署)

本文详细介绍了在CentOS7.9环境中部署LNMP(Linux、Nginx、MySQL、PHP)和Redis,包括配置Nginx、安装和管理数据库、网站代码上传与权限设置,以及Redis的部署、缓存管理和持久化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lnmp +redis 发布企业门户网站( 单机部署)

操作系统环境:Centos 7.9

服务器IP:172.20.26.140

1、部署lnmp

yum install epel-release -y

yum install yum-utils

创建新的nginx.repo文件:

vim /etc/yum.repos.d/nginx.repo

添加

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

[nginx-mainline]

name=nginx mainline repo

baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/

gpgcheck=1

enabled=0

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true

默认情况下,使用稳定的nginx软件包的存储库。如果要使用主线nginx软件包,请运行以下命令:

yum-config-manager --enable nginx-mainline

安装nginx、php、mariadb等

yum install nginx php php-fpm mariadb mairadb-server mariadb-devel  php-mysql php-redis php-devel -y

2、创建数据库

启动数据库服务

 systemctl start mariadb

登录数据库

mysql

或者mysql -uroot -p -h127.0.0.1

create database discus charset utf8;

grant all on discuz.* to “discuz”@localhost identified by “discuz”;  #(第一个discuz 是数据库,第二个discuz是用户,第三个discuz 是密码)

flush privileges;   #使配置生效

退出再次登录

mysql -udiscuz -pdiscuz   #用discuz用户登录 数据库

show databases;    #查看到我们所创建的数据库

3、上传网站代码

cd /usr/src  #进入源码目录下

rz 上传Discuz_X3.1_SC_UTF8   如果是公司网站代码,开发人员会提供网站代码

unzip Discuz_X3.1_SC_UTF8 -d /usr/share/nginx/html/  #解压到nginx web服务器默认发布目录下

chown apache. -R /usr/share/nginx/html/upload/   #确认php进程的用户是谁?然后进行授权,这里php进程的用户是apache

systemctl start nginx  #启动nginx

 浏览器中输入nginx 服务器IP地址即可访问到nginx默认的发布页面。

vi /usr/share/nginx/html/index.html   #nginx网站的默认发布目录

可以修改“ welcome to nginx!” 内容

修改nginx配置文件

vi /etc/nginx/conf.d/default.conf

把upload 路径加上,同时添加index.php 索引文件

开启location 规则

systemctl restart nginx   #重启nginx 服务

如果有问题可以查看日志

tail /var/log/nginx/error.log

检查端口是否有开启

       ss -ntlp

       systemctl start nginx php-fpm   #启动nginx 和php-fpm

       rpm -qc nginx                 #查看nginx配置文件路径

rpm -ql nginx                  #查看nginx发布目录路径

rpm -qd nginx                 #查看nginx帮助文档

4、配置网站安装向导

当前状态打红叉,当前状态不可写,由于php 进程的用户没有对以上目录及文件的写入权限,查看upload的权限755

ll /usr/share/nginx/html/upload/ -d

查看php 进程的用户是谁?如下显示,是apache 用户

ps -ef | grep php

chown apache. -R /usr/share/nginx/html/upload/

刷新页面,发现当前状态已变成可写,打绿勾

ll /usr/share/nginx/html/upload/ -d  #再查看一下权限

回到网页,点击 下一步

点击下一步

5、部署redis

rpm -q redis  #查看是否有安装过redis

yum install redis -y

systemctl start redis

netstat -ntlp   #由于是单机部署,所以redis 监听的是127.0.01的 6379端口,server的IP地址设置为127.0.0.1,如果redis 在别的服务器上,server IP地址设置为redis 所在服务器的IP地址

vi /usr/share/nginx/html/upload/config/config_global.php

通过redis-cli

keys *    #查询一下缓存情况

刷新discuz网站,keys *  没有数据

php -m    #查询php 是否有redis 模块

如果前面已安装了php-redis 模块就不会出现这个现象,如果没有安装,继续安装一下

yum install php-redis -y

安装完成后,再查看一下,查询php 是否已经有了redis 模块

 重启一下redis 与php相连的服务模块 php-fpm (修改配置文件或者增加模块,记得重启服务)

systemctl restart php-fpm

再刷新一下discuz 网站,通过redis-cli

keys *    #查询一下键,发现已经有缓存数据了

如果nginx部署了多个网站需要做redis 缓存,需要进行区分,不要写到一个数据库里,

select 2    #进入另一个redis缓存数据库

redis 默认给我们提供了16个数据库,默认使用的是0号数据库

select 0

可以通过get 命令查看相关缓存信息

例如:disuz 网站用admin用户登录后,get GC41J3_common_member_1 就可以查询到admin 相关的信息(邮箱、用户名、密码等等)

查看一下redis 的配置文件路径以及配置文件内容

rpm -qc redis

vi /etc/redis.conf

redis 数据都存放在内存中,如果断电,内容丢失,有两种模式SNAPSHOTTING 模式(写入到.rdb格式文件)和APPEND ONLY MODE (写入到.aof格式文件)可以将数据存到磁盘中。

SNAPSHOTTING 模式:

也可以手动触发

save  这是前台进行,会占用当前进程,如果用户正在进行写数据,它会进行阻塞。

bgsave 是通过fork执行的,叫写时复制,我们一般使用bgsave

写到redis的dump.rdb文件里

ls /var/lib/redis

APPEND ONLY MODE:追加模式

默认写入到appendonly.aof文件

appendfsync always   #最多之丢失1个键

appendfsync everysec  #最多会丢失1秒的数据,追加形式,每秒执行,所以aof 比rdb 文件要大很多,所以redis 重启服务,redis 从磁盘加载文件时 速度要比rdb 慢一点

appendonly  #默认是关闭的 appendonly no ,也可以打开appendonly yes

redis 默认先加载aof文件,如果aof 没有数据,就把rdb清空,如果rdb 是先启动的,aof是后来追加的,那么开启aof或者修改配置文件后千万不能马上重启服务,执行 redis-cli 进来,再执行bgrewiteaof ,这时会将rdb文件内容写到aof文件中,然后重启服务,数据就不会丢失。

查看aof、rdb 文件内容

查看aof、rdb 文件大小

ll -h /var/lib/redis/*

通过上面文件大小比较,我们就点击了几下discuz网站,aof 文件比rdb文件大很多。

后续继续研究 aof 、rdb 工作原理,redis 主从,集群等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lqcbj_IT老混混

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值