常用Web环境架设手册PNP:Postgresql+Nginx+PHP

一 Postgresql

1.1 install

ready:
apt-get update
apt-get install libreadline6-dev
apt-get install zlib1g zlib1g.dev

cd source 
./configure
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test



1.2 tablefunc

cd source ... contrib/tablefunc/ 
make
sudo make install

su - postgres
psql dbname
create extension tablefunc;

1.3 replication 

一:主库
# 首先创建同步所需用户和权限
postgres=# create user dbsr replication ;

# 编辑pg_hba.conf,允许用户dbsr连接,并执行replication
host       replication          dbsr                 192.168.8.201/32      trust   # streaming replication primary
host       replication          dbsr                 192.168.8.117/32      trust   # streaming replication slave

# 编辑postgresql.conf,将所有配置的配置好后,重启数据库服务
listen_addresses = '*'      #光设定pg_hba.conf没有用,特别注意需要调整这个设定,
wal_level = replica		# 9.6.3设定为replica
max_wal_senders = 10			# 这个设置了可以最多有几个流复制连接,差不多有几个从,就设置几个
wal_keep_segments = 256		# 设置流复制保留的最多的xlog数目

wal_sender_timeout = 60s		# 设置流复制主机发送数据的超时时间
max_connections = 1000		# 这个设置要注意下,从库的
max_wal_size = 5GB      		# in logfile segments, min 1, 16MB each
min_wal_size = 100MB     		# in logfile segments, min 1, 16MB each
hot_standby = on				# 
max_standby_archive_delay = 60s
max_standby_streaming_delay = 60s 
hot_standby_feedback = on
wal_receiver_timeout = 60s

#restart PG server
sudo /etc/init.d/postgresql restart

二:从库
# 建立备份
#从库安装完成后,不初始化,若已经初始化,删除其data目录
rm -rf data/
pg_basebackup -h 192.168.8.117 -U dbsr -F p -P -R -D /data/pg_rep -l /tmp/backup.log

# 修改recovery.conf
pg_basebackup的-R会自动产生此文件与内容
standby_mode = 'on'
primary_conninfo = 'user=rep host=192.168.8.117 port=5432 sslmode=disable sslcompression=1'

# 修改postgresql.conf
若用同一台机器,可以改port,如54321

# chown 
chown -R postgres:postgres data
# chmod 
chmod -R 700  /data/pg_rep

#启动备用库
/usr/local/pgsql/bin/pg_ctl start -D /data/pg_rep

检查
# 登入主库
psql -U postgres -d postgres
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_replication ;

 

二 Nginx

2.1.准备:

copy 安装文件nginx-1.7.5.tar.gz到 /usr/local/
//需准备好Perl 5 兼容正则表达式库(PCRE)与SSL 支持库
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev

Centos:
#yum -y install pcre-devel openssl openssl-devel
#yum install gcc-c++


并确认是否有安装 gcc/g++

gcc -v
g++ -v



2.2.安装

cd /usr/local
tar -zxvf nginx-1.7.5.tar.gz
sudo mv nginx-1.7.5 nginx

cd nginx

#./configure --prefix=/usr/local/nginx
sudo ./configure --with-http_ssl_module --with-http_stub_status_module
sudo make
sudo make install


2.3.启动

/usr/local/nginx/nginx
http://localhost/若可出现正常画面表示成功。
或netstat –na|grep 80

nginx -s stop
nginx -s reload


2.4.移除

sudo rm -rf /etc/nginx/
sudo rm -rf /usr/sbin/nginx
sudo rm /usr/share/man/man1/nginx.1.gz
sudo apt-get purge nginx


2.5.管理

#查看安裝的模組
nginx -V

//清空LOG,若用删除log的办法,需要reload nginx
truncate -s access.log

三 PHP

3.1 编译

#需要libxml2
sudo apt-get libxml2 libxml2-dev

cd ../php-x.x.x
./configure --enable-fpm --with-pgsql
make
sudo make install

3.2 创建配置文件,并将其复制到正确的位置


cp php.ini-development /usr/local/lib/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

3.3 php.ini

打开 php.ini:

vim /usr/local/lib/php.ini
定位到 cgi.fix_pathinfo= 并将其修改为如下所示:

cgi.fix_pathinfo=0

3.4 配置php-fpm

1.php-fmp.conf
vim /usr/local/etc/php-fpm.conf
更改最后一句为:
include=/usr/local/etc/php-fpm.d/www.conf

cp /usr/local/etc/php-fpm.d/www.conf.defaut /usr/local/etc/php-fpm.d/www.conf


vim /usr/local/etc/php-fpm.d/www.conf

找到以下内容并修改:

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data
然后启动 php-fpm 服务:

/usr/local/bin/php-fpm


1.重启/
ps aux|grep php-fpm
sudo kill -USR2 42891(master pid)

或
sudo kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
(注意上面执行cat命令是反引号[`],而不是单引号[']或双引号["])
pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid(在上面ps命令会显示配置文件中配置),把注释去除.

kill 参数:
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

3.5 配置nginx

修改默认的 location 块,使其支持 .php 文件:

location / {
    root   html;
    index  index.php index.html index.htm;
}
下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:

location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}


重启 Nginx。

sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
or
sudo /usr/local/nginx/sbin/nginx -s reload

3.6 测试



rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
打开浏览器,访问 http://localhost,将会显示 phpinfo() 

3.7 安装扩展库

#需先安装automake,不然不能生成.configure文件.
sudo apt-get install autoconf 

$ cd extname
$ phpize
$ ./configure
$ make
# make install

4. Sublime Text 3


1.download
wget http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3059_x32.tar.bz2
x64
Wget http://c758482.r82.cf2.rackcdn.com/sublime_text_3_build_3059_x64.tar.bz2

2.unpackage 
a.tar -jxvf sublim.tar.bz2 
b.sudo mv Sublime_text_3 /opt/ 

3.create bash file

a.sudo vi /usr/bin/subl3
file content:
#!/bin/sh
Exec /opt/sublime_text_3/sublime_text "$@"

b. sudo chmod 755 subl3

4.run subl3

 

转载于:https://my.oschina.net/raydchang/blog/323228

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值