系统是centos6.x,现在需要配置nginx+php+postgresql,整个流程自己做了一遍记录下,网上的教程都是东拼西凑,自己完整的搞了一遍。
系统约定:软件包放在/usr/local/src下,安装在/usr/local/下的目录即是软件名,跟我以前编译习惯一致
首先前期安装依赖的项
yum install gcc gcc-c++ make readline-devel flex zlib-devel -y
接着去这选择你要编译安装的postgresql的版本:http://ftp.postgresql.org/pub/source/
然后下面详情跟着操作就可以了。
cd /usr/local/src tar -zxvf postgresql-9.6.6.tar.gz groupadd postgres #添加mysql组 useradd -g postgres postgres #必须要添加pgsql独立用户,后面操作都需要切换这个账户 passwd postgres mkdir -p /data/pgsql chown -R postgres:postgres /data/pgsql mkdir -p /usr/local/pgsql cd postgresql-9.6.6 ./configure --prefix=/usr/local/pgsql make && make install
上面没有报错的话,接下来我们位pgsql创建账户和密码
切换到postgres账户
su - postgres cd /usr/local/pgsql/bin ./initdb -D /data/pgsql #初始化pgsql数据 #退出postgres用户 exit
#到这里,数据库就算安装好了。
不过现在还缺少一个启动脚本,还好postgresql官方已经帮你准备好了,那么在哪呢?就在你的源码目录下,用它就行了。
#复制postgresql的源码包目录下的linux启动脚本到/etc/init.d
cp /usr/local/src/postgresql-9.6.6/contrib/start-scripts/linux /etc/rc.d/init.d/pgsqld vi /etc/rc.d/init.d/pgsqld PGDATA="/data/pgsql" #修改pgsql数据存放路径
#赋予执行权限
chmod +x /etc/init.d/pgsqld
#启动数据库
service pgsqld start #注意要先启动,直接restart是启动不了的。
#开机启动
chkconfig pgsqld on
#添加系统环境变量
export PATH=$PATH:/usr/local/pgsql/bin
还有一件事没完成,那就是刚安装好的postgresql数据库还没有密码,咱得给它设一个密码
#连接到数据库,修改管理员密码
/usr/local/psql/bin/psql -U postgres
#执行以下语句,给postgres用户设置密码
ALTER USER postgres WITH PASSWORD '你的密码';
#退出
\q
上面postgresql基本已经配置完,我们解析来配置nginx和php,主要参考这个文章https://sulao.cn/post/111.html
其中php配置改成如下配置:
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-pgsql=/usr/local/pgsql/bin/pg_config --with-pdo-pgsql=/usr/local/pgsql/bin/pg_config --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-jpeg-dir --with-freetype-dir --with-png-dir
或者按照下面教程追加编译两个扩展,一个pq和一个PDO_PGSQL
解包上面两个扩展,进入扩展包解压的文件夹内 /usr/local/php7/bin/phpize ./configure --with-php-config=/usr/local/php7/bin/php-config make && make install
安装这两个扩展钱需要先添加raphf扩展
追加编译成功会在相应的文件夹内生成.so文件,然后在php.ini文件内extension里面加上即可,然后重启php-fpm和nginx,phpinfo页面浏览看看是否开启扩展