部署社交网站
2017-09-28 11:03
330 查看
项目案例:部署社交网站
前言:本次项目是搭建一套动态网站服务器平台,在上面运行社交网站(例如:人人网,开心网,天涯论坛)。相关知识点在前面的课程中都有所涉及,今天的实验就是一个综合运用,体现了真实的项目实施流程和思路。本次实验有一个新的知识点,就是SVN服务器,SVN服务器可以统一存储程序员开发的代码,避免代码混乱,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的,有点类似于文件服务器,但是比文件服务器要更安全,有利于多人维护,避免工作协调出现问题。此外,我们今天的环境要实现nginx、php、mysql的分离,这样有助于环境的优化,提升性能和安全性。
一、项目说明
1、搭建SVN服务器
2、部署nginx服务器,用于处理静态网页
3、部署php服务器,用于处理动态网页
4、部署mysql服务器,用于动态网站数据库存储
5、配置nginx和php,使用svn发布开发好的网站
6、在客户机上浏览网站
二、实验拓扑
![](https://s5.51cto.com/wyfs02/M00/07/99/wKiom1nMXurwXUbhAABn6XZs4l4229.png-wh_500x0-wm_3-wmp_4-s_735339614.png)
三、搭建svn服务器
1、安装svn(默认已经装好)
![](https://s4.51cto.com/wyfs02/M00/A6/4B/wKioL1nMXw3yhzQZAABJFaVHx10453.png-wh_500x0-wm_3-wmp_4-s_3219016064.png)
2、为PHP程序员创建仓库目录repo(用于统一存储开发数据)
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMX2jiXzQgAABu9amuvzQ589.png-wh_500x0-wm_3-wmp_4-s_4200069496.png)
3、调整svn参数
Vim /opt/svn/repo/conf/svnserve.conf
![](https://s3.51cto.com/wyfs02/M01/07/9A/wKiom1nMX_KRm30RAAA4ONtQEMU950.png-wh_500x0-wm_3-wmp_4-s_2272301088.png)
![](https://s1.51cto.com/wyfs02/M02/07/9A/wKiom1nMYBrApJAXAAGSZYQRUpE272.png-wh_500x0-wm_3-wmp_4-s_3589342374.png)
上图解释:
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)
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYESiMWydAABiF3lsIYs314.png-wh_500x0-wm_3-wmp_4-s_2083904452.png)
5、为PHP程序员YDW建立用户,配置对repo仓库具有读写权限,并将账户信息及仓库目录信息反馈给PHP程序员。
![](https://s2.51cto.com/wyfs02/M00/07/9A/wKiom1nMYGqQeD1CAABDsIdDA44418.png-wh_500x0-wm_3-wmp_4-s_370163136.png)
创建账户密码文件,用于客户端同步时候的身份验证
![](https://s4.51cto.com/wyfs02/M00/07/9A/wKiom1nMYLqjoOcHAAAvkqVq18c391.png-wh_500x0-wm_3-wmp_4-s_3490918985.png)
创建权限配置文件,设置读写权限
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYOqBmox_AAATXtfGjwU025.png-wh_500x0-wm_3-wmp_4-s_70558086.png)
![](https://s3.51cto.com/wyfs02/M00/A6/4B/wKioL1nMYMujdga_AAAnZ5V9ofM119.png-wh_500x0-wm_3-wmp_4-s_2649346503.png)
建立用户存储开发数据的子目录webphp,并初始化svn目录
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYUahtKd6AABOmwSiXmw608.png-wh_500x0-wm_3-wmp_4-s_4109098741.png)
在win7上安装svn客户端软件
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYhDjTOlQAAC9R0AU_BA711.png-wh_500x0-wm_3-wmp_4-s_54767509.png)
打开软件:
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMYeKQ1cfDAAA850-kDYY229.png-wh_500x0-wm_3-wmp_4-s_4143443084.png)
输入svn服务器地址
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYjeCGAuKAAAT-eD5Z34957.png-wh_500x0-wm_3-wmp_4-s_772498940.png)
![](https://s1.51cto.com/wyfs02/M01/07/9A/wKiom1nMYkORLMjaAABvvEQl8-E990.png-wh_500x0-wm_3-wmp_4-s_948431759.png)
在win7上用记事本制作网页test1.html
![](https://s2.51cto.com/wyfs02/M02/A6/4C/wKioL1nMYiCwEXiAAAAPeyoAiEA283.png-wh_500x0-wm_3-wmp_4-s_2006466701.png)
然后拖到webphp文件夹中
![](https://s3.51cto.com/wyfs02/M00/A6/4C/wKioL1nMYjvSdmxeAAB9S3qMQzY455.png-wh_500x0-wm_3-wmp_4-s_3745440803.png)
在nginx服务器上进行同步
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMYp_g_s6WAAE6N8N95oY979.png-wh_500x0-wm_3-wmp_4-s_1775716089.png)
在php服务器上同步
![](https://s5.51cto.com/wyfs02/M00/07/9A/wKiom1nMYtjgqA2PAAFEbTqvkmo433.png-wh_500x0-wm_3-wmp_4-s_414735637.png)
上图可以看出,已经从svn服务器同步到nginx和php服务器
四、部署nginx服务器192.168.0.10
1、安装nginx服务器
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYwCS1To7AAA8AdWTFX0462.png-wh_500x0-wm_3-wmp_4-s_3147022287.png)
![](https://s2.51cto.com/wyfs02/M00/A6/4C/wKioL1nMY7TgS0hWAADxtFoztOE859.png-wh_500x0-wm_3-wmp_4-s_3044723418.png)
![](https://s2.51cto.com/wyfs02/M01/A6/4C/wKioL1nMY7_jtOSfAAAU8aJFE5M355.png-wh_500x0-wm_3-wmp_4-s_1533495865.png)
2、修改nginx配置
1)配置后端PHP程序的fastcgi访问接口
Vim /usr/local/nginx/conf/nginx.conf
或者yum安装 Vim /usr/local/nginx/cond/defautlt.conf
![](https://s2.51cto.com/wyfs02/M00/07/9A/wKiom1nMZDCS3_AKAABo6geOzvY232.png-wh_500x0-wm_3-wmp_4-s_3716674214.png)
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMZFyRfkUqAADNiN0lDXk657.png-wh_500x0-wm_3-wmp_4-s_3867867691.png)
2)优化并开启服务
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZETBSSiXAACVonHPzXU938.png-wh_500x0-wm_3-wmp_4-s_2313712584.png)
五、部署PHP服务器192.168.0.12
1、安装php
1)安装支持包
![](https://s2.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZKixN7NcAADJhN4poIc194.png-wh_500x0-wm_3-wmp_4-s_2949951486.png)
2)建立用户
3)拷贝mysql模块到/usr/lib下(因为php默认去/usr/lib搜索libmysqlclient.so)
4)编译安装PHP
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMZR7Tv5-XAADkIyS0y1g669.png-wh_500x0-wm_3-wmp_4-s_3216809905.png)
![](https://s4.51cto.com/wyfs02/M00/07/9A/wKiom1nMZWqS_JiDAABf3c6fEf4497.png-wh_500x0-wm_3-wmp_4-s_492439555.png)
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMZZGSrmA6AABheF3J1mA148.png-wh_500x0-wm_3-wmp_4-s_1739550017.png)
![](https://s3.51cto.com/wyfs02/M02/A6/4C/wKioL1nMZXXC3PoyAABz9OFEOBU491.png-wh_500x0-wm_3-wmp_4-s_692247512.png)
3、启动php-fpm
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMZeGSD9tkAABm8CV-Cn0884.png-wh_500x0-wm_3-wmp_4-s_837533050.png)
4、建立网站主目录,并且编写php测试页
![](https://s5.51cto.com/wyfs02/M01/A6/4C/wKioL1nMZcrz_N9zAAAoHNXAz5o423.png-wh_500x0-wm_3-wmp_4-s_483889113.png)
5、访问测试页
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZe3D3vQ4AACKmimK678929.png-wh_500x0-wm_3-wmp_4-s_156973217.png)
6、然后在nginx网站主目录里面制作静态网页index.html
![](https://s4.51cto.com/wyfs02/M02/A6/4C/wKioL1nMZjijw99oAADJkBpiYo0717.png-wh_500x0-wm_3-wmp_4-s_143090188.png)
说明静态网页由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。
前言:本次项目是搭建一套动态网站服务器平台,在上面运行社交网站(例如:人人网,开心网,天涯论坛)。相关知识点在前面的课程中都有所涉及,今天的实验就是一个综合运用,体现了真实的项目实施流程和思路。本次实验有一个新的知识点,就是SVN服务器,SVN服务器可以统一存储程序员开发的代码,避免代码混乱,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的,有点类似于文件服务器,但是比文件服务器要更安全,有利于多人维护,避免工作协调出现问题。此外,我们今天的环境要实现nginx、php、mysql的分离,这样有助于环境的优化,提升性能和安全性。
一、项目说明
1、搭建SVN服务器
2、部署nginx服务器,用于处理静态网页
3、部署php服务器,用于处理动态网页
4、部署mysql服务器,用于动态网站数据库存储
5、配置nginx和php,使用svn发布开发好的网站
6、在客户机上浏览网站
二、实验拓扑
![](https://s5.51cto.com/wyfs02/M00/07/99/wKiom1nMXurwXUbhAABn6XZs4l4229.png-wh_500x0-wm_3-wmp_4-s_735339614.png)
三、搭建svn服务器
1、安装svn(默认已经装好)
![](https://s4.51cto.com/wyfs02/M00/A6/4B/wKioL1nMXw3yhzQZAABJFaVHx10453.png-wh_500x0-wm_3-wmp_4-s_3219016064.png)
2、为PHP程序员创建仓库目录repo(用于统一存储开发数据)
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMX2jiXzQgAABu9amuvzQ589.png-wh_500x0-wm_3-wmp_4-s_4200069496.png)
3、调整svn参数
Vim /opt/svn/repo/conf/svnserve.conf
![](https://s3.51cto.com/wyfs02/M01/07/9A/wKiom1nMX_KRm30RAAA4ONtQEMU950.png-wh_500x0-wm_3-wmp_4-s_2272301088.png)
![](https://s1.51cto.com/wyfs02/M02/07/9A/wKiom1nMYBrApJAXAAGSZYQRUpE272.png-wh_500x0-wm_3-wmp_4-s_3589342374.png)
上图解释:
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)
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYESiMWydAABiF3lsIYs314.png-wh_500x0-wm_3-wmp_4-s_2083904452.png)
5、为PHP程序员YDW建立用户,配置对repo仓库具有读写权限,并将账户信息及仓库目录信息反馈给PHP程序员。
![](https://s2.51cto.com/wyfs02/M00/07/9A/wKiom1nMYGqQeD1CAABDsIdDA44418.png-wh_500x0-wm_3-wmp_4-s_370163136.png)
创建账户密码文件,用于客户端同步时候的身份验证
![](https://s4.51cto.com/wyfs02/M00/07/9A/wKiom1nMYLqjoOcHAAAvkqVq18c391.png-wh_500x0-wm_3-wmp_4-s_3490918985.png)
创建权限配置文件,设置读写权限
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYOqBmox_AAATXtfGjwU025.png-wh_500x0-wm_3-wmp_4-s_70558086.png)
![](https://s3.51cto.com/wyfs02/M00/A6/4B/wKioL1nMYMujdga_AAAnZ5V9ofM119.png-wh_500x0-wm_3-wmp_4-s_2649346503.png)
建立用户存储开发数据的子目录webphp,并初始化svn目录
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYUahtKd6AABOmwSiXmw608.png-wh_500x0-wm_3-wmp_4-s_4109098741.png)
在win7上安装svn客户端软件
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMYhDjTOlQAAC9R0AU_BA711.png-wh_500x0-wm_3-wmp_4-s_54767509.png)
打开软件:
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMYeKQ1cfDAAA850-kDYY229.png-wh_500x0-wm_3-wmp_4-s_4143443084.png)
输入svn服务器地址
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYjeCGAuKAAAT-eD5Z34957.png-wh_500x0-wm_3-wmp_4-s_772498940.png)
![](https://s1.51cto.com/wyfs02/M01/07/9A/wKiom1nMYkORLMjaAABvvEQl8-E990.png-wh_500x0-wm_3-wmp_4-s_948431759.png)
在win7上用记事本制作网页test1.html
![](https://s2.51cto.com/wyfs02/M02/A6/4C/wKioL1nMYiCwEXiAAAAPeyoAiEA283.png-wh_500x0-wm_3-wmp_4-s_2006466701.png)
然后拖到webphp文件夹中
![](https://s3.51cto.com/wyfs02/M00/A6/4C/wKioL1nMYjvSdmxeAAB9S3qMQzY455.png-wh_500x0-wm_3-wmp_4-s_3745440803.png)
在nginx服务器上进行同步
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMYp_g_s6WAAE6N8N95oY979.png-wh_500x0-wm_3-wmp_4-s_1775716089.png)
在php服务器上同步
![](https://s5.51cto.com/wyfs02/M00/07/9A/wKiom1nMYtjgqA2PAAFEbTqvkmo433.png-wh_500x0-wm_3-wmp_4-s_414735637.png)
上图可以看出,已经从svn服务器同步到nginx和php服务器
四、部署nginx服务器192.168.0.10
1、安装nginx服务器
![](https://s3.51cto.com/wyfs02/M02/07/9A/wKiom1nMYwCS1To7AAA8AdWTFX0462.png-wh_500x0-wm_3-wmp_4-s_3147022287.png)
![](https://s2.51cto.com/wyfs02/M00/A6/4C/wKioL1nMY7TgS0hWAADxtFoztOE859.png-wh_500x0-wm_3-wmp_4-s_3044723418.png)
![](https://s2.51cto.com/wyfs02/M01/A6/4C/wKioL1nMY7_jtOSfAAAU8aJFE5M355.png-wh_500x0-wm_3-wmp_4-s_1533495865.png)
2、修改nginx配置
1)配置后端PHP程序的fastcgi访问接口
Vim /usr/local/nginx/conf/nginx.conf
或者yum安装 Vim /usr/local/nginx/cond/defautlt.conf
![](https://s2.51cto.com/wyfs02/M00/07/9A/wKiom1nMZDCS3_AKAABo6geOzvY232.png-wh_500x0-wm_3-wmp_4-s_3716674214.png)
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMZFyRfkUqAADNiN0lDXk657.png-wh_500x0-wm_3-wmp_4-s_3867867691.png)
2)优化并开启服务
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZETBSSiXAACVonHPzXU938.png-wh_500x0-wm_3-wmp_4-s_2313712584.png)
五、部署PHP服务器192.168.0.12
1、安装php
1)安装支持包
![](https://s2.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZKixN7NcAADJhN4poIc194.png-wh_500x0-wm_3-wmp_4-s_2949951486.png)
2)建立用户
3)拷贝mysql模块到/usr/lib下(因为php默认去/usr/lib搜索libmysqlclient.so)
4)编译安装PHP
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMZR7Tv5-XAADkIyS0y1g669.png-wh_500x0-wm_3-wmp_4-s_3216809905.png)
![](https://s4.51cto.com/wyfs02/M00/07/9A/wKiom1nMZWqS_JiDAABf3c6fEf4497.png-wh_500x0-wm_3-wmp_4-s_492439555.png)
![](https://s5.51cto.com/wyfs02/M01/07/9A/wKiom1nMZZGSrmA6AABheF3J1mA148.png-wh_500x0-wm_3-wmp_4-s_1739550017.png)
![](https://s3.51cto.com/wyfs02/M02/A6/4C/wKioL1nMZXXC3PoyAABz9OFEOBU491.png-wh_500x0-wm_3-wmp_4-s_692247512.png)
3、启动php-fpm
![](https://s4.51cto.com/wyfs02/M01/07/9A/wKiom1nMZeGSD9tkAABm8CV-Cn0884.png-wh_500x0-wm_3-wmp_4-s_837533050.png)
4、建立网站主目录,并且编写php测试页
![](https://s5.51cto.com/wyfs02/M01/A6/4C/wKioL1nMZcrz_N9zAAAoHNXAz5o423.png-wh_500x0-wm_3-wmp_4-s_483889113.png)
5、访问测试页
![](https://s4.51cto.com/wyfs02/M00/A6/4C/wKioL1nMZe3D3vQ4AACKmimK678929.png-wh_500x0-wm_3-wmp_4-s_156973217.png)
6、然后在nginx网站主目录里面制作静态网页index.html
![](https://s4.51cto.com/wyfs02/M02/A6/4C/wKioL1nMZjijw99oAADJkBpiYo0717.png-wh_500x0-wm_3-wmp_4-s_143090188.png)
说明静态网页由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。
相关文章推荐
- 社交网站部署——Nginx服务器+PHP服务器搭建+MySQL主从集群
- 社交网站部署——MFS分布式文件系统
- 社交网站部署——SVN服务器搭建并发布上线
- 社交网站部署——案例扩展
- 用SVN、LNMP和MySQL三种环境 部署一个社交网站
- 部署社交网站
- 部署社交网站(步骤超详细)
- 部署社交网站全过程(Nginx+PHP+Mysql+MFS+SVN)
- 部署社交网站-SVN 与 LNMP架构
- 部署社交网站- MYSQL主从 与 MFS 文件系统
- node.js学习笔记14—微型社交网站
- 网站部署过程 Nginx + Gunicorn +Supervisor +Flask
- Asp.NET 网站程序,在 IIS6.0 部署时出现的环境问题集?
- 今天需要部署.Net 4的网站提示 Service Unavailable
- Tomcat部署网站
- 【Web开发】第一个网站的建立与部署(一)
- 社交网站五大收入模式:细分用户群很值钱
- Google 联合一些社交网站来对抗 facebook
- 使用apache+mod_wsgi方式部署完成后,访问网站时400(Bad Request)