svn+nginx+php

浪尽此生 提交于 2019-12-08 13:46:42

一、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客户端软件

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!