天天看点

一次服务器环境搭建的记录(nginx+php+subversion)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengyi_L/article/details/50699523

因同事工作任务比较紧,自己又刚提出离职所以暂时比较闲。

在同事询问下决定帮助完成服务器环境的搭建任务。通过之前原有的安装包以及网上教程一步一步实现的搭建过程

安装nginx:

从网上下载nginx安装包,解压,得到源文件之后编译并安装。命令如下

tar zxvf *.tar.gz

./configure --prefix=/webdir/nginx

这里报错:大概意思是rewrite module 缺少prce库。

上网查了一下prce库是一个基于c++的正则库。

上网下载是prce的zip压缩包

unzip *.zip

./configure

make

make install

成功安装prce库

继续安装nginx

这里成功了。

下一步准备进nginx/sbin目录去启动nginx

nginx -c /webdir/nginx/conf/nginx.conf

又报错:

error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

进入/lib64目录发现只有libpcre.so.0和libpcre.so.0.0.1。且so.0是链接到so.0.0.1的。于是创建新的link:

ln -s libpcre.so.0.0.1 libpcre.so.1

这次启动成功了

但是访问服务器的时候长时间无响应

输入netstat -ntlp查看端口状态看到nginx正在监听80端口 

最后查看防火墙,发现是防火墙的错误:

于是在防火墙中开发80端口:

添加规则:

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

保存:

/etc/init.d/iptables save

重启防火墙

/etc/init.d/iptables restart

能访问到nginx预设的index.html。

php安装:

从网上down下来php解压包之后。

./configure --prefix=/webdir/php

安装完成

配置nginx.conf里的index默认为index.php

在项目根目录下新建index.php

访问项目之后报错,该页面不可访问。原因是没有启动php-fpm,nginx服务器找不到fast-cgi来处理php文件。

回到php目录发现找不到php-fpm。

上网查找原因,是在./configure步骤时,没有指定激活php-fpm

于是删除文件夹,make clean 重新安装。

./configure --prefix=/webdir/php --enable-fastcgi --enable-fpm --with-curl

安全完成之后重启nginx,成功

svn安装记录:

1.这里不需要从网上去down安装包,直接一行命令yum -y install subversion(之前因为打错名字svn名字而报错了)

2.创建版本库  svnadmin create /webdir/svndata

3.进入修改svndata配置文件。主要修改conf hooks(这里记住,修改svnserver.conf的时候。 # auth-access = write不能仅仅去掉#号。还要向前退格,不

能出现空格),在修改authz文件的时候注意在[/]下添加账号

4.启动svn服务器 svnserve -d -r /webdir/svndata

以上几步已经成功安装了svn服务器并启动

5.在nginx/html下checkout一个svn项目

6.在自己电脑上checkout,这一步发现报错,无法连接svn服务器,这里应该是跟之前无法访问nginx一个原因,svn相应的端口没有在防火墙中开放,于是在iptables中新增路由规则:

1>iptables -I INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

2>iptables -I OUTPUT -o eth0 -p tcp --sport 3690 -j ACCEPT

保存:/etc/init.d/iptables save

重启防火墙: /etc/init.d/iptables restart 

成功

并add一个文件。这时候报错。post-commit error_code 255,由于我是直接从其他服务器下趴来的Post-commit文件,在上传的时

候可执行属性被干掉了。于是修改post-commit文件为可执行文件之后,能够commit并且更新文件了。(在某些机器最后加上 exit 0 )

最后将fpm,nginx,svn服务器的启动程序加入/etc/rc.local

/webdir/php/sbin/php-fpm

/webdir/nginx/sbin/nginx

svnserve -d -r /webdir/svndata

完成

继续阅读