日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux nginx postgresql php,常用Web环境架设手册PNP:Postgresql+Nginx+PHP

發布時間:2024/7/23 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux nginx postgresql php,常用Web环境架设手册PNP:Postgresql+Nginx+PHP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 Postgresql

1.1 install

ready:

sudo apt-get update

sudo apt-get install libreadline6-dev

sudo apt-get install zlib1g zlib1g.dev

cd source

./configure

sudo make install

sudo adduser postgres

sudo mkdir /usr/local/pgsql/data

sudo 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 g++

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.安裝

sudo mkdir /usr/local/nginx

tar -zxvf nginx-1.7.5.tar.gz

cd nginx-1.7.5

#./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 install 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

總結

以上是生活随笔為你收集整理的linux nginx postgresql php,常用Web环境架设手册PNP:Postgresql+Nginx+PHP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。