一、SVN
SVN(Subversion)服务器可以统一存储程序员开发的代码,避免代码混乱,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的,有点类似于文件服务器,但是比文件服务器要更安全,有利于多人维护,避免工作协调出现问题。svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。我们今天的环境要实现nginx、php、mysql的分离,这样有助于环境的优化,提升性能和安全性。
二、环境
主机 | os | IP地址 | 主要软件 |
svn服务器 | Centos6.5 x86_64 | 192.168.10.1 | Subversion-1.6.11-9.el6_X86_64 |
nginx服务器 | Centos6.5 x86_64 | 192.168.10.2 | nginx-1.6.2.tar.gz |
php服务器 | Centos6.5 x86_64 | 192.168.10.4 | php-5.3.28.tar.gz |
三、实践
1)搭建svn(默认已经安装好了)
mkdir -p /opt/svn/repo #为PHP程序员创建仓库目录repo(用于统一存储开发数据)
svnadmin create /opt/svn/repo #svn的一些文件
vim /opt/svn/repo/conf/svnserve.conf #调整svn的参数
anon-access = none #12行;匿名用户没有任何权限
auth-access = write #13行;认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd #20行;用户的密码文件
authz-db = /opt/svn/repo/conf/authz #27行;用户信息文件
svnserver -d -r /opt/svn/repo #启动svn(端口号:3690)
killall -9 svnserver #停止svn
vim /opt/svn/repo/conf/passwd #为PHP程序员zm建立用户
zm = FzFwavT990
sysadmin = rfgIUY953
vim /opt/svn/repo/conf/authz #为用户设置读写权限
[/]
zm = rw
sysadmin = rw
[/webphp]
sysadmin = rw
zm = rw
mkdir /opt/svn/repo/webphp #建立用户存储开发数据的子目录webphp
svn import webphp file:///opt/svn/repo/webphp -m "init..." #初始化svn目录
2)配置nginx文件(安装方法在此不再阐述)
vim /usr/local/nginx/conf/nginx.conf #配置后端PHP程序的fastcgi访问接口
user nginx; #修改用户
location / {
root html/webphp; #nginx网页根目录
index index.html index.htm index.php; #默认的索引页
}
location ~ \.php$ { #访问.php页面的配置段
root /var/www/html/webphp; #php网页的根目录
fastcgi_pass 192.168.10.4:9000; #php-fpm的监听地址
fastcgi_index index.php; #php首页文件
include fastcgi.conf; #包括fastcgi.conf样本配置
}
svn co svn://192.168.10.1/webphp
mkdir /usr/local/nginx/html/webphp
vim index.html #编写nginxtest页
welcome to beijing !!!
3)搭建php
yum -y install gd libpng-devel libipeg-devel libxml2-devel mysql-devel
useradd -M -s /sbin/nologin php
tar zxf php-5.3.28...gz
cp /usr/src/php-5.3.28/usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so3) #拷贝mysql模块到/usr/lib下(因为php默认去/usr/lib搜索libmysqlclient.so)
./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql --with-mysqli --with-mysql-sock --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make && make instsll
cp /usr/localphp/etc/php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
pid = run/php-fpm.pid #25行;去掉前面的;
user = php #140行;修改用户
group = php #141行;修改组
listen = 192.168.10.4:9000 #配置php-fpm进程监听9000端口来接受nginx的请求
pm.max_children = 50 #最多空闲进程数
pm.start_servers = 20 #启动时开启的进程数
pm.min_spare_servers = 5 #最少空闲进程数
pm.max_spare_servers = 35
/usr/local/php/sbin/php-fpm #启动php-fpm
mkdir -p /var/www/html/webphp
vim index.html #编写一个php测试页
<?php
phpinfo();
?>
测试:(1) 在一台终端上访问192.168.10.2/index.html,结果是自己编写的内容出现即可。
(2) 再次访问192.168.10.2/index.php,结果是php的首页。
注 : 在终端上安装svn客户端软件
来源:CSDN
作者:zm-技术共享
链接:https://blog.csdn.net/bpb_cx/article/details/81606958