首頁 運維 Nginx CentOS環境中如何部署nginx、php和虛擬主機配置

CentOS環境中如何部署nginx、php和虛擬主機配置

May 20, 2023 pm 02:25 PM
php centos nginx

部署時間:2012-07-24
os環境:centos 6.1
nginx:nginx-1.2.2
php:php5.3.14
0、安裝依賴套件

複製程式碼 程式碼如下:

yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make

1、新增www 使用者用來執行nginx

複製程式碼 程式碼如下:

useradd -m -r -s /sbin/nologin -d /opt/web/ www

#2、創建臨時目錄

複製程式碼 程式碼如下:

mkdir -p /var/tmp/nginx/client/
mkdir -p /var/tmp/nginx/proxy/
mkdir -p /var/tmp/nginx/fcgi/

3、下載nginx最新穩定版原始碼

##複製程式碼 程式碼如下:

cd /usr/local/src/

wget http://nginx.org/download/nginx-1.2.2.tar.gz

4、解壓縮,編譯,安裝


複製程式碼 程式碼如下:

tar vxzf nginx-1.2.2.tar.gz

cd nginx-1.2.2/
./configure \
--prefix=/opt /web/nginx \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/ tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/ fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi/
make
make install
##5、設定nginx


複製程式碼 程式碼如下:

vim /opt/web/nginx/conf/nginx.conf

## 指定啟動使用者:

user www www;
# 行程數量,nginx作者認為一個就可以,根據自己的訪問量修改
worker_processes 1;
# 設定錯誤日誌:
#error_log logs/error.log notice;
##error_log logs/error.log info;
error_log /var/log/nginx/error.default.log;
pid /opt/web/nginx/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
charset utf-8;
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_min_length 1000;
gzip on;
gzip_min_length 1000;
gzip. /plain text/css text/xml
application/x-javascript application/xml
application/atom xml text/javascript;
server {
listen 80;
server_name localhost;
# charset utf-8;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
## error_page 404 /404.html;
# redirect server error pages to the static page /50x.html

#error_page 500 502 503 504 /50x.html;##1
root html;
}
# proxy the php scripts to apache listening on 127.0.0.1:80

##location ~ \.php$ {
# proxy_pass http:/ /127.0.0.1;
#}
# pass the php scripts to fastcgi server listening on 127.0.0.1:9000

#location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param script_filename /scripts$fastcgi_script_name;
#include fastcgi_params;
include fast#2; deny access to .htaccess files, if apache's document root
# concurs with nginx's one

#location ~ /\.ht {
deny all;
}
#}

}
# another virtual host using mix of ip-, name-, and port-based configuration

##server {
# listen 8000;
# listen somename:8080;
## server_name somenamename somename:8080;
## alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
## https server

##server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers high:!anull:!md5;
# ssl_prefer_server_ciphers on;
#loroot#"
"#n#"
#"#log#" index index.html index.htm;
# }
#}
proxy_read_timeout 200;
# only retry if there was a communication error, not a timeout
# on the tornado server (to avoid propagating "queries of death"
# to all frontends)
proxy_next_upstream error;
proxy_set_header x-scheme $scheme;
proxy_set_header x-real-ip $remote_addr;##proxyr;# ;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
# 引入虛擬主機檔案
include /opt/web/nginx/conf/sites/*.conf;
}

# 6.建立虛擬機器設定檔存放的目錄


複製程式碼 程式碼如下:

mkdir /opt/web/nginx/conf/sites

這樣配置後,需要新增加虛擬主機的直接在nginx/conf/sites/目錄下,新增設定檔即可
例如:現在有www.jb51.net 網域
建立:/opt/ web/nginx/conf/sites/www.jb51.net.conf 檔案
內容如下:

複製程式碼 程式碼如下:

server {
listen 80;
client_max_body_size 10m;
#多個網域以空格分割,第一個為預設
server_name www.jb51.net jb51.net;
charset utf-8;
index index.html index.htm index.php;
# 定義根目錄
set $root /var/webroot/www.jb51.net/;
# 設定網站路徑
root $root;
#防止目錄瀏覽
autoindex off;
if ($host != 'www.jb51.net') {
rewrite ^/(.*)$ //www.jb51.net/$1 permanent;
}
# 防止.htaccess檔案被要求
location ~ /\.ht {
deny all;
}
error_page 404 /404.html;
index index.html index.htm;
location /uploads/ {
alias /data/webroot/www.jb51.net/uploads/;
}
try_files $uri @uwsgi;
location @uwsgi{
# 將其它的請求轉交給uwsgi
include uwsgi_params;
uwsgi_pass unix:/tmp/360ito_uwsgi.sock;
proxy_set_header x-real-iphostremote_addr;






##如果 好吧 好吧 好吧D 她 她 她 她 她 hostr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
#proxy_pass http://localhost:5000;
}
## 將php類型的請求轉交給fastcgi
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
## 存取日誌:
access_log /var /log/nginx/access.www.jb51.net.log;
# 載入.htaccess重寫文件,注意,這裡不支援變數路徑

# 不能寫成include $root/www.jb51.net/. htaccess;

# include /var/webroot/www.jb51.net/.htaccess;
# 開啟網域跳轉,則當存取出錯後,其他網域會自動跳到www.jb51.net

# 注意,這裡我說的是,僅僅當訪問出錯後,才會跳轉,所以,這裡並不能實現301重定向!

server_name_in_redirect on;

}


7、安裝最新版本php( php5.3.14 )

複製程式碼 程式碼如下:


#cd /usr /local/src/

wget http://cn.php.net/get/php-5.3.14.tar.bz2/from/this/mirror

tar xjvf php-5.3.14.tar.bz2

cd php-5.3.14

執行:


複製程式碼 程式碼如下:

./buildconf --force


如果報錯,可能是你的autoconf不是2.13 版本的,php5.3.系列的bug,需要安裝autoconf為2.13的版本:


複製程式碼 程式碼如下:

centos : # yum install autoconf213

debian : # apt-get install autoconf2.13


設定環境變數

##複製程式碼 程式碼如下:

## centos :
#export php_autoconf="/usr/bin/autoconf-2.13"
# debian :
export php_autoconf="/usr/bin/autoconf2.13"

#再運作:./buildconf - -force ,出現buildconf: autoconf version 2.13 (ok)

,則表示成功。

編譯安裝php


複製程式碼 程式碼如下:

./configure \
--prefix=/opt/web/php \
--with -config-file-path=/opt/web/php/etc \
--with-config-file-scan-dir=/opt/web/php/etc/conf.d \
--enable -fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=/opt/db/percona-server-5.5.14 -rel20.5 \
--with-mysqli=/opt/db/percona-server-5.5.14-rel20.5/bin/mysql_config \
--with-iconv-dir \
- -with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--enable-mbstring \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \

--enable-inline-optimization

make && make install
cp php.ini-production /opt/web/php/etc/php.ini

cd /opt/web/php/etc

cp php-fpm.conf.default php-fpm.conf

#修改php-fpm.conf 啟用如下幾行,也就是去掉前面的分號(;)


複製程式碼 程式碼如下:

pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
#user = www
group = www
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
#pm.max_requests = 500

env[hostname] = $hostname##pm.max_requests = 500

env[hostname] = $hostname
#env[path] = /usr/local/bin:/usr/bin:/bin

env[tmp] = /tmp

env[tmpdir] = /tmp

env[temp] = / tmp

8、啟動php-fpm


複製程式 程式碼如下:

/opt/web/php/sbin/php-fpm





########## #啟動nginx#########複製程式碼 程式碼如下:######/opt/web/nginx/sbin/nginx######9、測試一下######## ##複製程式碼 程式碼如下:######vim /var/webroot/www.jb51.net/tz.php######輸入並儲存########複製程式碼 程式碼如下:##########

10、在瀏覽器網址列輸入:http://php.jb51.net/tz.php
成功的話,可以看到phpinfo()輸出的資訊                     

以上是CentOS環境中如何部署nginx、php和虛擬主機配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

怎樣優化CentOS HDFS配置 怎樣優化CentOS HDFS配置 Apr 14, 2025 pm 07:15 PM

提升CentOS上HDFS性能:全方位優化指南優化CentOS上的HDFS(Hadoop分佈式文件系統)需要綜合考慮硬件、系統配置和網絡設置等多個方面。本文提供一系列優化策略,助您提升HDFS性能。一、硬件升級與選型資源擴容:盡可能增加服務器的CPU、內存和存儲容量。高性能硬件:採用高性能網卡和交換機,提升網絡吞吐量。二、系統配置精調內核參數調整:修改/etc/sysctl.conf文件,優化TCP連接數、文件句柄數和內存管理等內核參數。例如,調整TCP連接狀態和緩衝區大小

HDFS配置CentOS需要修改哪些文件 HDFS配置CentOS需要修改哪些文件 Apr 14, 2025 pm 07:27 PM

在CentOS上配置Hadoop分佈式文件系統(HDFS)時,需要修改以下關鍵配置文件:core-site.xml:fs.defaultFS:指定HDFS的默認文件系統地址,例如hdfs://localhost:9000。 hadoop.tmp.dir:指定Hadoop臨時文件的存儲目錄。 hadoop.proxyuser.root.hosts和hadoop.proxyuser.ro

centos配置ip地址 centos配置ip地址 Apr 14, 2025 pm 09:06 PM

CentOS 中配置 IP 地址的步驟:查看當前網絡配置:ip addr編輯網絡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:編輯 IPADDR= 行更改子網掩碼和網關(可選):編輯 NETMASK= 和 GATEWAY= 行重啟網絡服務:sudo systemctl restart network驗證 IP 地址:ip addr

CentOS Stream 8故障排查方法 CentOS Stream 8故障排查方法 Apr 14, 2025 pm 04:33 PM

CentOSStream8系統故障排查指南本文提供系統化的步驟,幫助您有效排查CentOSStream8系統故障。請按順序嘗試以下方法:1.網絡連接測試:使用ping命令測試網絡連通性(例如:pinggoogle.com)。使用curl命令檢查HTTP請求響應(例如:curlgoogle.com)。使用iplink命令查看網絡接口狀態,確認網絡接口是否正常運行並已連接。 2.IP地址和網關配置驗證:使用ipaddr或ifconfi

CentOS HDFS性能調優技巧 CentOS HDFS性能調優技巧 Apr 14, 2025 pm 06:00 PM

CentOS平台Hadoop分佈式文件系統(HDFS)性能優化指南優化HDFS性能是一個多方面的問題,需要針對具體情況調整多個參數。以下是一些關鍵的優化策略:一、內存管理調整NameNode和DataNode內存配置:根據服務器實際內存大小,合理配置HADOOP_NAMENODE_OPTS和HADOOP_DATANODE_OPTS環境變量,優化內存利用率。啟用大頁內存:對於高內存消耗應用(如HDFS),啟用大頁內存可降低內存頁分配和管理開銷,提升效率。二、磁盤I/O優化使用高速存

CentOS上PyTorch的GPU支持情況如何 CentOS上PyTorch的GPU支持情況如何 Apr 14, 2025 pm 06:48 PM

在CentOS系統上啟用PyTorchGPU加速,需要安裝CUDA、cuDNN以及PyTorch的GPU版本。以下步驟將引導您完成這一過程:CUDA和cuDNN安裝確定CUDA版本兼容性:使用nvidia-smi命令查看您的NVIDIA顯卡支持的CUDA版本。例如,您的MX450顯卡可能支持CUDA11.1或更高版本。下載並安裝CUDAToolkit:訪問NVIDIACUDAToolkit官網,根據您顯卡支持的最高CUDA版本下載並安裝相應的版本。安裝cuDNN庫:前

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS MongoDB備份策略是什麼 CentOS MongoDB備份策略是什麼 Apr 14, 2025 pm 04:51 PM

CentOS系統下MongoDB高效備份策略詳解本文將詳細介紹在CentOS系統上實施MongoDB備份的多種策略,以確保數據安全和業務連續性。我們將涵蓋手動備份、定時備份、自動化腳本備份以及Docker容器環境下的備份方法,並提供備份文件管理的最佳實踐。手動備份:利用mongodump命令進行手動全量備份,例如:mongodump-hlocalhost:27017-u用戶名-p密碼-d數據庫名稱-o/備份目錄此命令會將指定數據庫的數據及元數據導出到指定的備份目錄。

See all articles