`
lukejin
  • 浏览: 365506 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Nginx, PostgreSQL And Trac : 准备工作

阅读更多

本文所涉及的操作系统为Linux

uname -a

Linux localhost 2.6.18-164.11.1.el5 #1 SMP Mon Mar 8 20:38:10 CST 2010 x86_64 x86_64 x86_64 GNU/Linux


需要安装的软件包括Nginx,PostgreSQL,Python,Trac
其实这些软件的安装(编译,安装)都应该问题不大,有些机器Python可能一开始就已经安装了,但是对这些软件毫无接触过的同学来说,如何来合理正确的使用这些软件是主要的问题.

 

1.Nginx

如果你以前使用过Apache,那么使用Nginx也应该问题不大,你可以通过nginx -h 来查看nginx支持那些参数.
当然我们使用nginx不倾向于使用nginx的安装的原始目录作为工作目录,所以在相应的用户的home目录中建立一个nginx的目录,目录下建一个conf的子目录

[admin@localhost conf]$ ls
mime.types  nginx.conf
[admin@localhost conf]$ pwd
/home/admin/nginx/conf
[admin@localhost conf]$ 

 

nginx.conf 文件 你可以从安装目录中的conf目录中拷贝来
我的本地安装在

/usr/local/nginx
拷贝过来之后,我们可以先测试一下,

回到admin的home目录,执行 nginx -p nginx
也就是将/home/admin/nginx作为nginx的工作目录来运行,

nginx会自动去找这个目录下的conf目录下的配置文件进行加载运行的.
运行起来后,会在工作目录下的logs目录下生成pid文件
如果你要重新加载配置文件可以运行 kill -HUP xxx.pid便可以了

启动好了,在浏览器里,输入服务器地址,测试一下,看是否运行正常,如果没有运行起来,可以查看 nginx工作目录下的logs中的error.log 查出原因,并将问题解决掉.
到这里我们Nginx的问题基本解决.

 

2.PostgreSQL

下面我们来搞PostgreSQL
PostgreSQL做为一个数据库软件其功能比Mysql强大,著名的Greenplum便是基于PostgreSQL进行开发的.
Postgresql编译安装好了之后,会自动为你建立一个postgres的用户,也就是postgresql运行的时候最好以此用户进行运行,但是此用户的home目录默认是在/var/lib/pgsql(各自环境可能不一样),这个我们可以通过 /etc/passwd文件中进行查看
考虑到硬盘挂载的时候,home目录是进行单独挂载的,空间比较大,所以考虑将其home目录移到/home下,这时候需要做的就是在/home目录下建一个postgres的目录,并将 /var/lib/pgsql中所有的东西移到这个目录下,记得使用root执行下chown -R postgres.postgres /home/postgres将这个目录的所有者和用户组设置为 postgres

我们继续修改vi /etc/init.d/postgresql  将其中 /var/lib/pgsql修改为新的目录/home/postgres
接下来便是初始化数据库,进到/home/postgres/data目录下(这个目录是存放数据库文件的地方)
service postgresql initdb
service postgresql start
这样便启动好了
你可以查看到所有的postgresql的进程都是运行在postgres用户下的
然后我们可以通过psql来测试数据库是否真的成功运行了,如果在这些过程中出现了问题,我们可以查看log  /home/postgres/pgstartup.log

这个时候,我开始动手用本机上的pgAdminIII 来远程连这个数据库拉,唉,确实是连不上,
只能去google,找到了关键的一个文件/home/postgres/data/pg_hba.conf
这里有允许远程连接的设置
在里面加上

 

host    all         all         0.0.0.0/0               md5

然后还得修改启动脚本,启动的时候需要加一个参数,修改后如下

 

$SU -l postgres -c "$PGENGINE/postmaster  -p '$PGPORT' -D '$PGDATA' ${PGOPTS} -i &"

  然后进行数据库重启.

这样便允许所有的机器通过用户名和密码进行远程连接了.
配置改好了重启好了之后,进行远程连接,果不其然,连上了,但是碰到一个提醒,大意就是数据库缺少一些函数功能,使得paAdminIII实现一些功能,我是一个追求完美的人,心想着这个问题一定要解决,然后搜索,网上有说需要装一个postgresql的一个postgresql-contrib
包,导入一个sql文件便可.
我通过yum的postgresql的源安装了这个包,然后运行下面的命令便可以了,

[root@localhost contrib]# su postgres
bash-3.2$ psql< /usr/share/pgsql/contrib/adminpack.sql -W
Password: 
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION

 

重新使用pgAdminIII连了下,好了,欣喜.


 

3.Trac

好了接下来介绍Trac的安装了,我这里使用的是easy_install工具进行安装的,这个相当于ruby的gem,是一个package管理工具,通过它来安装python的package会自动帮你处理好依赖,非常方便.
安装的过程你可以参考官方的文档http://trac.edgewall.org/wiki/0.11/TracInstall

但是在安装psycopg2这个python的postgresql的驱动的时候遇到了一些问题,通过easy_install无法正确安装,于是只能自己编译安装

[root@localhost temp]# wget http://initd.org/pub/software/psycopg/psycopg2-2.0.14.tar.gz
--2010-04-13 01:50:00--  http://initd.org/pub/software/psycopg/psycopg2-2.0.14.tar.gz
Resolving initd.org... 213.215.170.198
Connecting to initd.org|213.215.170.198|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 491362 (480K) [application/x-gzip]
Saving to: `psycopg2-2.0.14.tar.gz'

100%[==================================================================================================================>] 491,362      163K/s   in 2.9s    

2010-04-13 01:50:04 (163 KB/s) - `psycopg2-2.0.14.tar.gz' saved [491362/491362]

[root@localhost temp]# tar xvf psycopg2-2.0.14.tar.gz 

 

进去解压后的目录中python setup.py install进行安装
然后进行测试

root@localhost psycopg2-2.0.14]# python
Python 2.5.4 (r254:67916, Mar  8 2010, 19:24:21) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-46)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2

 

OK 搞定,一切就绪.

  • 大小: 58.5 KB
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics