项目案例:部署社交网站
前言:本次项目是搭建一套动态网站服务器平台,在上面运行社交网站(例如:人人网,开心网,天涯论坛)。相关知识点在前面的课程中都有所涉及,今天的实验就是一个综合运用,体现了真实的项目实施流程和思路。本次实验有一个新的知识点,就是SVN服务器,SVN服务器可以统一存储程序员开发的代码,避免代码混乱,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的,有点类似于文件服务器,但是比文件服务器要更安全,有利于多人维护,避免工作协调出现问题。此外,我们今天的环境要实现nginx、php、mysql的分离,这样有助于环境的优化,提升性能和安全性。
一、项目说明
1、搭建SVN服务器
2、部署nginx服务器,用于处理静态网页
3、部署php服务器,用于处理动态网页
4、部署mysql服务器,用于动态网站数据库存储
5、配置nginx和php,使用svn发布开发好的网站
6、在客户机上浏览网站
二、实验拓扑
三、搭建svn服务器
1、安装svn(默认已经装好)
2、为PHP程序员创建仓库目录repo(用于统一存储开发数据)
3、调整svn参数
Vim /opt/svn/repo/conf/svnserve.conf
上图解释:
Anon-access = none //匿名用户没有任何权限
Auth-access = write //认证用户具有写权限
Password-db = /opt/svn/repo/conf/passwd //用户的密码文件
Authz-db = /opt/svn/repo/conf/authz //用户信息文件
4、启动svn服务(停止svnserve使用killall -9 svnserve)
5、为PHP程序员YDW建立用户,配置对repo仓库具有读写权限,并将账户信息及仓库目录信息反馈给PHP程序员。
创建账户密码文件,用于客户端同步时候的身份验证
创建权限配置文件,设置读写权限
建立用户存储开发数据的子目录webphp,并初始化svn目录
在win7上安装svn客户端软件
打开软件:
输入svn服务器地址
在win7上用记事本制作网页test1.html
然后拖到webphp文件夹中
在nginx服务器上进行同步
在php服务器上同步
上图可以看出,已经从svn服务器同步到nginx和php服务器
四、部署nginx服务器192.168.0.10
1、安装nginx服务器
2、修改nginx配置
1)配置后端PHP程序的fastcgi访问接口
Vim /usr/local/nginx/conf/nginx.conf
或者yum安装 Vim /usr/local/nginx/cond/defautlt.conf
2)优化并开启服务
五、部署PHP服务器192.168.0.12
1、安装php
1)安装支持包
2)建立用户
3)拷贝mysql模块到/usr/lib下(因为php默认去/usr/lib搜索libmysqlclient.so)
4)编译安装PHP
3、启动php-fpm
4、建立网站主目录,并且编写php测试页
5、访问测试页
6、然后在nginx网站主目录里面制作静态网页index.html
说明静态网页由nginx服务器处理,动态网页由php服务器处理,实现了动静分离。
六、部署mysql服务器
安装步骤略(与之前的安装完全一样)
注意:如果要部署网站,则需要mysql服务器上创建数据库,并且授权
Create database xxx
Grant all privileges on xxx.* to ‘php’@’192.168.0.%’ identified by ‘123456’
七、以discuz论坛为例,在平台上部署,并最终能够浏览
操作步骤略(参考前面的文档)
注意:平时网站开发人员修改网页一般在windows系统上操作,修改完成之后通过SVN服务器上传给nginx和php。