建设工作站服务器
关于构建社交网站的详细信息
构建社交网站将要求SVN服务器进行版本控制,以便管理PHP程序员开发的代码。 社交网站的第一个版本部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi协议接入后端PHP服务器,为了保证数据的安全,将mysql数据
社交网络项目包含用户的相册功能,用户可以上传照片。 上传照片需要使用共享存储。 共享存储有多种开源方案,包括NFS、MFS和FastDFS。 本文简化了存储方案,用NFS代替MFS的功能,目前网络根据公司要求进行关联构建。
此案例拓扑:
个案环境:
主机OSIP地址主要软件nginx centos 7192.168.88.128 nginx-1.14.0.tar.gzphpcentos 7192.168.88.129
php-5.6.38.tar.gz
mysqlmastercentos 7192.168.88.130 MySQL-5.6.41.tar.gzmysqlslavecentos 7192.168.88.131 MySQL-5.6.41.ttar
本文中的所有软件都是使用wget和yum安装的。
一.构建Nginx
1、设置环境包
yuminstallgccgcc-cpcrepcre-devel zli B- devel-y
2、创建Nginx用户
useradd -M -s /sbin/nologin nginx
3、下载nginx
cd /opt/#下载到opt目录中
wget 3358 nginx.org/download/nginx-1.14.0.tar.gz #下载nginx
4、解压缩编译安装
tar zxf nginx-1.14.0.tar.gz #解压
cd nginx-1.14.0/
./configure \\\\&; quot;
prefix=/usr/local/nginx\& amp; quot; #指定安装路径
user=nginx\\ & amp; quot; #指定用户
group=nginx\\ & amp; quot; #指定组
打开-with-http_stub_status_module#统计信息模块
生成安装#安装
5、优化
ln-s/usr/local/nginx/sbin/*/usr/local/sbin/#软链接优化
vim /etc/init.d/nginx #添加启动脚本
#! /bin/bash
# chkconfig :9920
#this is nginx init
Prog=&; #039;/usr/local/nginx/sbin/nginx & amp; #039;
PIDF=&; #039;/usr/local/nginx/logs/nginx.PID & amp; #039;
case &; #039; $1&; #039; 输入
start )
$PROG
;
stop )
kill -s QUIT $(cat $PIDF )
;
restart )
$0 stop
$ 0开始
;
导读)
kill -s HUP $(cat $PIDF )
;
* )
echo&; #039; please use:{开始|停止}
exit 1
欧洲航空
exit 0
#kill -s QUIT $(cat $PIDF )表示基于PID退出Nginx进程
#kill -s HUP $(cat $PIDF )显示基于进程号重新加载的配置
6、要访问PHP页面,必须修改配置文件的fastcgi访问接口。
修改vim/usr/local/nginx/conf/nginx.conf #配置文件
location ~ \\\\.php$ {
root /var/www/html/webphp;
fastcgi _ pass 192.168.88.131:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
二.构建MYSQL主从服务器
1、设置环境包
yuminstallgccgcc-cmakecmakencurses-develbisonlibaio-devel autoconf-y
2、下载mysql5.6
cd /opt/#下载到opt目录中
下载wget 3359 cdn.MySQL.com//downloads/MySQL-5.6/MySQL-5.6.41.tar.gz # wget命令
3、创建mysql用户
useradd -s /sbin/nologin mysql
4、编译安装
cd mysql-5.6.41/
cmake \\\\
- DC make _ install _ prefix=/usr/local/MySQL\\ & amp; quot;
-DDEFAULT_CHARSET=utf8 \\\\&; quot;
- d default _ collation=utf8 _ general _ ci\\
- d with _ extra _ charsets=all\\\& amp; quot;
-DSYSCONFDIR=/etc \\\\&; quot;
- dmysql _ datadir=/home/MySQL/\\\ & amp; quot;
- dmysql _ UNIX _ addr=/home/MySQL/MySQL.sock\\ & amp; quot;
- d with _ myisam _ storage _ engine=1\\& amp; quot;
- d with _ inno base _ storage _ engine=1\\& amp; quot;
- d with _ archive _ storage _ engine=1\\& amp; quot;
- d with _ black hole _ storage _ engine=1\\& amp; quot;
- d enabled _ local _ infile=1\\\ & amp; quot;
-DWITH_SSL=system \\\\&; quot;
-DMYSQL_TCP_PORT=3306 \\\\&; quot;
-DENABLE_DOWNLOADS=1 \\\\&; quot;
-DWITH_SSL=bundled
生成安装#安装
5、优化
复制CP support-files/my-default.cn f/etc/my.cn f #配置文件
CP support-files/MySQL.server/etc/init.d/mysqld #复制启动脚本
vim /etc/init.d/mysqld #修改启动脚本
basedir=/usr/local/mysql
datadir=/home/mysql
chmod x /etc/init.d/mysqld #添加执行权限
将chkconfigadd mysqld #添加到启动项目
CK configlevel 35 MySQL don # 35模式启动
echo&; #039; path=$ path:/usr/local/MySQL/bin/& amp; #039; 添加/etc/profile#环境变量
更新source /etc/profile #环境变量
更改chown-r MySQL.MySQL/usr/local/MySQL # MySQL安装目录的所有者组
6 .初始化数据库
/usr/local/MySQL/scripts/MySQL _ install _ db\\ & amp; quot;
user=MySQL\& amp; quot;
l data=/var/lib/MySQL\\
basedir=/usr/local/MySQL\& amp; quot;
datadir=/home/MySQL
建立指向ln-s/var/lib/MySQL/MySQL.sock/home/MySQL/MySQL.sock # sock文件的软链接
7 .启动两台mysql服务器
服务系统开始
8、修改主从服务器配置文件
主服务器)
vim /etc/my.cnf
[ mysqld ] #添加到mysqld模块下
server-id=11
log-bin=/usr/local/MySQL/data/master-bin #指定日志文件的位置
log-slave-updates=true #可以从服务器读取主服务器的内容
重新启动serviceMySQLDrestart#MySQL
来自服务器)
vim /etc/my.cnf
[ mysqld ] #添加到mysqld模块下
server-id=22
log-bin=/usr/local/MySQL/data/slave-bin
relay-log=realy-log-bin
relay-log-index=slave-relay-bin.index
重新启动serviceMySQLDrestart#MySQL
9、建立mysql主从关系
主服务器)
mysqlgrantreplicationslaveon *.* to & amp; #039; 我的天空& amp; #039; @&; #039; 192.168.88.%&; #039; 标识by & amp; #039; 123123&; #039; #取消权利
mysql show master status; #查看主服务器的主状态
————33——-33——-3——33——-——33543——3—————— -
| file|binlog _ do _ db|binlog _ ignore _ db|executed _ gtid _ set |
————33——-33——-3——33——-——33543——3—————— -
| master-bin.000001 | 411 | | | |
————33——-33——-3——33——-——33543——3—————— -
1原始插入( 0.00秒)。
来自服务器)
mysqlchangemastertomaster _ host=& amp; #039; 192.168.88.129&; #039;master_user=&; #039; 我的天空& amp; #039;master_password==&; #039; 123123。
master_log_file=&; #039; master-bin.000001&; #039;master_log_pos=411;
mysql start slave; 开始微笑
Query OK,0Rowsaffected(0.04sec ) )。
mysql show slave status\\\\G; #观察主从的状态,确认以下两个行为是主从同步成功。
slave _ io _ running :是
slave _ SQL _ running :是
三.构建PHP服务器
1、设置环境包
yum-yinstallgdlibxml2- devel libjpeg-devel libpng-devel zlib-devel fontconfig-devel OpenSSL-devel bzip2- develgccgcc
2、下载php
下载wget 3358101.96.10.64/cn2.PHP.net/distributions/PHP-5.6.38.tar.gz # wget命令
3、编译安装
./configureprefix=/usr/local/PHP-fpm\\
enable-fpm-with-zlib \
with-PDO-MySQL\\
enable-mbstring\\ & amp; quot;
with-GDwith-png-dir=/usr/lib 64\\
with-JPEG-dir=/usr/lib 64\\ & amp; quot;
with-freetype-dir=/usr/lib 64
生成安装#安装
4、优化
复制CP PHP.ini-development/usr/local/PHP-fpm/PHP.ini #配置文件
ln-s/usr/local/PHP-fpm/bin/*/usr/local/bin/# PHP命令文件软件链接
ln-s/usr/local/PHP-fpm/sbin/*/usr/local/sbin/# PHP命令文件软件链接
5、在php上安装加速器
tarzxfzendguardloader-PHP-5.3-Linux-glibc 23-x86 _ 64.tar.gz-c/opt /
cdzendguardloader-PHP-5.3-Linux-glibc 23-i386/PHP-5.3.x
将cpzendguardloader.so/usr/local/PHP-fpm/lib/PHP #加速器模块复制到PHP目录中
6、php识别加速器
修改vim /usr/local/php-fpm/php.ini #配置文件,添加以下三行
[Zend Guard Loader]
Zend _ extension=/usr/local/PHP-fpm/lib/PHP/zendguardloader.so
zend_loader.enable=1
7 .打开Nginx的php支持
cd /usr/local/php-fpm/etc
CP PHP-fpm.conf.default PHP-fpm.conf #复制配置文件模板
vi php-fpm.conf #修改如下
pid=run/php-fpm.pid
user=php
group=php
pm.max_children=50
pm.start_servers=20
pm.min_spare_servers=5
pm.max_spare_servers=35
监听器=0.0.0.0: 9000 #监听所有端口
8、创建php用户并启动服务
创建useradd-m-s/sbin/nolog in PHP # PHP用户
/usr/local/sbin/php-fpm #启动服务
[ root @ localhost etc ] #显示netstat-ntap|grep PHP # 9000端口
TCP 00.0.0.0:9000.0.0.0:* listen 15183/PHP-fpm:mast
9、设立php网站
mkdir -p /var/www/html/webphp
cd/var/www/html/webphp
Echo&; #039; thisisPHP-nginxtest&; #039; 创建index.PHP#网站主页
10、测试,访问http://192.168.88.128/index.php
四.构建SVN服务器
1、安装SVN
yum install subversion -y #安装SVN
[ root @ localhost~] # svnserve显示版本信息
svnserve,版本1.7.14(r1542130 )。
编译于apr 112018,02:40:28
版权所有( c ) 2013 Apache软件基金会。
这个软件包含了很多人的贡献。 有关详细信息,请参见文件NOTICE。
Subversion是开放源代码软件。 请参阅http://subversion.apache.org/网站。
2、建立SVN仓库
mkdir -p /opt/svn/#先创建svn目录
svnadmin create/opt/SVN # svnadmin命令将此目录用作仓库
[ root @ localhost~] # ls/opt/SVN/# SVN浏览仓库
confdbformathookslocksreadme.txt
3.SVN配置文件设置
修改vim/opt/SVN/conf/svnserve.conf #配置文件
anon-access=none
自动-访问=写入
password-db=/opt/SVN/conf/passwd
authz-db=/opt/svn/conf/authz
4 .配置passwd和authz文件
vim /opt/svn/conf/passwd
[users]
# harry=harryssecret
# sally=sallyssecret
phpuser=123123 #添加用户和密码
vim /opt/svn/conf/authz #在最后一行中添加以下内容
[/]
phpuser=r #在/opt/svn目录下具有读取权限
[/webphp]
phpuser=rw #对webphp具有读写权限,用于上载和下载
5、打开SVN服务
[ root @ localhost SVN ] # svnserve-d-r/opt/SVN #关闭SVN并使用kill命令杀死进程
[ root @ localhost SVN ] # netstat-ntap|grep SVN #视口
TCP 00.0.0.0:3690.0.0.0:* listen 39725 svnserve
6 .创建webphp目录并初始化webphp目录
cd /opt/svn #是在/opt/svn下创建的
创建mkdirWebPHP#WebPHP目录
[root@localhost svn]# cd webphp/
[ root @ localhost webphp ] # touch test.txt # webphp写入
[ root @ localhost webphp ] #查看ls #文件
test.txt
[ root @ localhost SVN ] # svnimportwebphpfile://opt/SVN/repo/webphp-m & amp; #039; 初始化&; #039; webphp目录初始化
正在增加webphp/test.txt
提交后的版本是1。
7、测试SVN
yum install subversion -y #将先安装svn
在/usr/local/nginx/html下切换到nginx服务器
svncpsvn://192.168.88.132/webphp
SVN测试成功
五.构建NFS服务器
1、打开rpcbind和nfs服务
服务rpcbind start
服务NFS start
2、修改个人资料
vim /etc/exports
/opt/php*(rw,sync ) #所有主机都可以装载/opt/PHP目录,并且具有读写权限
3、编制目录,公开分享
mkdir /opt/php
exportfs -rv #发行版共享
4、客户端视图
[ root @ localhost html ] # showmount-e 192.168.88.133
导出列表for 192.168.88.133 :
/opt/php *
5、挂载
mount.NFS 192.168.88.133:/opt/PHP/var/www/html/webphp/# NFS在本地装载和使用
要以MFS分布式存储方式装载,请参阅https://blog.51cto.com/13760226/2286907
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn