因同事工作任务比较紧,自己又刚提出离职所以暂时比较闲。
在同事询问下决定帮助完成服务器环境的搭建任务。通过之前原有的安装包以及网上教程一步一步实现的搭建过程
安装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
./configure --prefix=/webdir/nginx
make
make install
这里成功了。
下一步准备进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解压包之后。
tar zxvf *.tar.gz
./configure --prefix=/webdir/php
make
make install
安装完成
配置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
make
make install
安全完成之后重启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
完成