基于PHP的最美中国网站的设计与实现
基于PHP的最美中国网站的设计与实现:
随着互联网的普及和发展,人们对信息的需求不断增加。为了展示中国的美丽风景、文化和特色,我们决定开发一个基于PHP的最美中国网站。该网站旨在提供一个平台,让用户分享和欣赏中国的美丽景色和文化魅力。
视频加载中…
- 用户注册与登录:用户需要能够注册账号并登录,以便上传和分享自己的作品。
- 作品展示:网站需要展示用户上传的图片、文字和视频等作品,展示中国的美丽风景和文化特色。
- 作品分类:作品需要按照不同的主题进行分类,如自然风光、历史遗迹、民俗文化等。
- 评论与点赞功能:用户需要对作品进行评论和点赞,以便交流和互动。
- 搜索功能:用户需要能够搜索特定关键词的作品。
- 管理员功能:网站需要设置管理员账户,以便对网站进行管理和维护。
- 用户表:存储用户的基本信息,如用户名、密码、邮箱等。
- 作品表:存储用户上传的作品信息,如作品标题、内容、分类、上传时间等。
- 评论表:存储用户对作品的评论信息,包括评论内容、评论时间等。
- 点赞表:记录用户对作品的点赞情况。
- 前端开发:使用HTML、CSS和JavaScript等技术进行网页布局和样式设计,实现页面的交互功能。
- 后端开发:使用PHP语言进行后端开发,实现用户注册、登录、作品上传、展示、分类、评论和点赞等功能。
- 数据库连接:使用MySQL数据库存储数据,通过PHP连接数据库,实现数据的增删改查操作。
- 安全性考虑:对用户输入进行过滤和验证,防止SQL注入和跨站脚本攻击等安全问题。
- 响应式布局:确保网站在不同设备和浏览器上都能良好地显示和运作。
通过本次项目,我们成功地开发了一个基于PHP的最美中国网站。该网站实现了用户注册与登录、作品展示、分类、评论与点赞以及搜索等功能。在开发过程中,我们深入了解了PHP语言和数据库技术,并学会了前端与后端的交互方式。同时,我们也注重网站的安全性和响应式布局,确保网站的安全和用户体验。总的来说,本次项目让我们收获颇丰,为未来的开发工作打下了坚实的基础。
Nginx+keepalived 实现高可用,防盗链及动静分离配置详解
作者:小不点啊
来源:www.cnblogs.com/leeSmall/p/9356535.html
一、Nginx Rewrite 规则
Rewrite规则含义就是某个URL重写成特定的URL(类似于Redirect),从某种意义上说为了美观或者对搜索引擎友好,提高收录量及排名等。
语法:
rewrite <regex> <replacement> [flag]关键字 || 正则 || 替代内容 || flag标记
Rewrite规则的flag标记主要有以下几种:
- last :相当于Apache里的(L)标记,表示完成rewrite;
- break:本条规则匹配完成后,终止匹配,不再匹配后面的规则
- redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址
- permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
last和break用来实现URL重写,浏览器地址栏URL地址不变
a) 例如用户访问www.dbspread.com,想直接跳转到网站下面的某个页面,www.dbspread.com/new.index.html如何来实现呢?我们可以使用Nginx Rewrite 来实现这个需求,具体如下:在server中加入如下语句即可:
效果图如下:
正则表达式说明:
b)例如多个域名跳转到同一个域名,nginx rewrite规则写法如下:
格式:
rewrite <regex> <replacement> [flag];关键字 || 正则 || 替代内容 || flag标记
说明:
- rewrite为固定关键字,表示开始进行rewrite匹配规则、
- regex部分是 ^/(.*) ,这是一个正则表达式,匹配完整的域名和后面的路径地址
- replacement部分是http://www.dbspread.com/$1,$1是取自regex部分( )里的内容。匹配成功后跳转到的URL。
- flag部分 permanent表示永久301重定向标记,即跳转到新的 http://www.dbspread.com/$1 地址上
比如http://www.dbspread.com/download/av123.rmvb 这个视频下载地址被其他网站引用,比如在www.test.com的index.html引用download/av123.rmvb就叫盗链,我们要禁止这种引用就叫做防盗链
在nginx的nginx.conf的server里面配置如下代码
三、Nginx 动静分离
Nginx动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
1). WEB项目开发时要注意,将静态资源尽量放在一个static文件夹2). 将static静态资源文件夹放到Nginx可以取到的位置3). 页面要建立全局变量路径,方便修改路径4). 修改nginx.conf的location, 匹配静态资源请求
4.4 在nginx的nginx.conf中server节点新增静态资源分离的配置
对于Nginx基础配置,推荐之前的:后端实践:Nginx日志配置(超详细)
4.5 访问页面查看效果
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP (Virtual Router Redundancy Protocol ,虚拟路由器冗余协议)功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件
管理LVS负载均衡软件实现LVS集群节点的健康检查作为系统网络服务的高可用性(failover)
Keepalived高可用服务之间的故障切换转移,是通过 VRRP 来实现的。在 Keepalived服务正常工作时,主 Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主 Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主 Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的 IP资源及服务。而当主 Master节点恢复时,备Backup节点又会释放主节点故障时自身接管的IP资源及服务,恢复到原来的备用角色。
说明:keepalived的主从切换和redis的主从切换是不一样的,keepalived的主节点挂了以后,从节点变为主节点,之前的主节点恢复以后继续做主节点。redis的主节点挂了以后,重新恢复以后变为从节点
说明:
虚拟ip(VIP):192.168.152.200,对外提供服务的ip,也可称作浮动ip192.168.152.130:nginx + keepalived master 主192.168.152.129:nginx + keepalived backup 从192.168.152.129:tomcat-8080192.168.152.129:tomcat-8081
环境准备:
centos6、jdk
虚拟ip(VIP):192.168.152.200,对外提供服务的ip,也可称作浮动ip192.168.152.130:nginx + keepalived master 主192.168.152.129:nginx + keepalived backup 从192.168.152.129:tomcat-8080192.168.152.129:tomcat-8081
nginx和tomcat的环境准备请查看我的前一篇关于nginx的文章
5.1 安装keepalived的步骤:
注:192.168.152.129(keepalived从节点) 与 192.168.152.130(keepalived主节点)先安装好nginx + keepalived
下载压缩包:
wget www.keepalived.org/software/keepalived-1.3.5.tar.gz
解压缩:
tar -zxvf keepalived-1.3.5.tar.gz
进入解压缩以后的文件目录:
cd keepalived-1.3.5
编译安装:./configure –prefix=/usr/local/keepalived系统提示警告 *** WARNING – this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.yum -y install libnl libnl-devel再次执行./configure –prefix=/usr/local/keepalived系统提示错误 configure: error: libnfnetlink headers missingyum install -y libnfnetlink-devel再次执行./configure –prefix=/usr/local/keepalived
make && make install
到此keepalived安装完成,但是接下来还有最关键的一步,如果这一步没有做后面启动keepalived的时候会报找不到配置文件的错误
Configuration file \’/etc/keepalived/keepalived.conf\’ is not a regular non-executable file
安装完成后,进入安装目录的etc目录下,将keepalived相应的配置文件拷贝到系统相应的目录当中。keepalived启动时会从/etc/keepalived目录下查找keepalived.conf配置文件
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived
5.3 修改keepalived从节点192.168.152.129的/etc/keepalived/keepalived.conf配置文件
5.4 检查nginx是否启动的shell脚本
/usr/local/src/check_nginx_pid.sh
5.5 192.168.152.130(keepalived主节点)和 192.168.152.129(keepalived从节点)的nginx的配置文件nginx.conf
到这一步环境准备已完成,相关的配置也修改完成,下面我们来查看效果
5.6 配置hosts域名映射
注意:这里192.168.152.200 是keepalived里面virtual_ipaddress配置的虚拟ip
到这一步环境准备已完成,相关的配置也修改完成,下面我们来查看效果
5.7 分别启动192.168.152.129的两个tomcat
5.8 分别启动192.168.152.130(keepalived主节点)和
192.168.152.129(keepalived从节点)的keepalived的
启动命令:
可以看到keepalived和nginx都启动了
在浏览器输入www.dpspread.com域名访问
可以看到从节点变为主节点了
在浏览器输入地址www.dpspread.com访问,可以看到访问正常
可以看到主节点重新启动以后变为主节点了
之前变为主节点的从节点又变回从节点了
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。