Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menggunakan nginx, php dan hos maya dalam persekitaran CentOS

Bagaimana untuk menggunakan nginx, php dan hos maya dalam persekitaran CentOS

WBOY
WBOYke hadapan
2023-05-13 12:40:06683semak imbas

persekitaran os: centos 6.1
nginx: nginx-1.2.2
php:php5.3.14
0 Pasang pakej pergantungan

Salin kod adalah seperti berikut. :

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

1. Tambahkan pengguna www untuk melaksanakan nginx

Salin kod Kod adalah seperti berikut:

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

Buat direktori sementara

Salin kod Kod adalah seperti berikut:

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

3 Muat turun versi stabil terkini kod sumber nginx

Salin kod tersebut.

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.2.2.tar.gz

4

Salin kod Kod adalah seperti berikut:

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
--dengan -http_stub_status_module
--dengan-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/
buat
buat pemasangan

5 kod Kod adalah seperti berikut:

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

# Tentukan pengguna permulaan:

pengguna www www;

# Bilangan proses , pengarang nginx rasa satu sudah cukup, ubah suai mengikut trafik anda sendiri
proses_pekerja 1;
# Tetapkan log ralat :
#error_log logs/error.log notice;
#error_log logs/error .maklumat log;
error_log /var/log/nginx/error.default.log;
pid /opt/web /nginx/nginx.pid;
acara {
gunakan 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;
hantar fail dihidupkan;
tcp_nopush dihidupkan;
tcp_nodelay dihidupkan;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip dihidupkan;
gzip dihidupkan;
gzip
sebarang 10 minit_panjang 🎜>gzip_types text/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 utama;
lokasi / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# ubah hala halaman ralat pelayan ke halaman statik /50x.html
#
error_page 500 502 503 504 /50x.html;
lokasi = /50x.html {
root html;
}
# proksi skrip php untuk mendengar apache pada 127.0
#
#lokasi ~ .php$ {
#. proxy_pass http://127.0.0.1;
#}
# hantarkan skrip php ke pelayan fastcgi yang mendengar pada 127.0.0.1:9000
#
lokasi ~ .php$ {
root html. ;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param script_name /scripts$fastcgi_script_name ;
#include fastcgi_params;
masukkan fastcgi_params; 🎜># menafikan akses kepada fail .htaccess, jika akar dokumen apache
# bersetuju dengan lokasi nginx
#
~ /.ht {
nafikan semua;
}
}
# hos maya lain menggunakan gabungan konfigurasi berasaskan ip-, nama- dan port
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# lokasi / {
# root html;
# index index.html index.htm;
# }
#}
# https pelayan
#
#server {
# listen 443;
# server_name localhost;
# ssl on ;
# ssl_certificate cert.pem;
# ssl# ssl_session_timeout 5m;
# ssl_protocols sslv2 sslv3 tlsv1; ># index index.html index.htm;
# }
#}
proxy_read_timeout 200;
# hanya cuba semula jika terdapat ralat komunikasi, bukan tamat masa
# pada pelayan puting beliung (untuk mengelakkan penyebaran "pertanyaan kematian"
# ke semua bahagian hadapan)
ralat proksi_seterusnya;
proxy_set_header x- scheme $scheme;
proxy_set_header x-real-ip $remote_addr;
proxy_set $host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
# Perkenalkan fail hos mayainc /opt /web/nginx/conf/sites/*.conf;
}

6. Cipta direktori tempat fail konfigurasi mesin maya disimpan


Salin kod Kod adalah seperti berikut:

mkdir /opt/web/nginx/conf/ tapak

Selepas konfigurasi ini, jika anda perlu menambah hos maya baharu, tambah fail konfigurasi terus ke direktori nginx/conf/sites/
Sebagai contoh: Sekarang terdapat nama domain www.jb51.net
Buat: /opt/ Kandungan fail web/nginx/conf/sites/www.jb51.net.conf
adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

pelayan {
dengar 80;
klien_max_body_size 10m;
#Berbilang nama domain dipisahkan oleh ruang, yang pertama ialah lalai
nama_pelayan www.jb51.net jb51.net;
charset utf-8;
index index.html index.htm index.php;
# Tentukan direktori akar
set $root /var/webroot/www.jb51.net/;
# Tetapkan laluan tapak
root $root;
# Halang penyemakan imbas direktori
autoindex dimatikan;
jika ($host != 'www.jb51.net') {
tulis semula ^/ (.*)$ //www.jb51.net/$1 kekal;
}
# Halang fail .htaccess daripada diminta
lokasi ~ /.ht {
nafikan semua;
}
error_page 404 /404.html;
index index.html index .htm;
lokasi /uploads/ {
alias /data/webroot/www.jb51.net/uploads/;
}
try_files $uri @uwsgi;
lokasi @uwsgi{
# Majukan permintaan lain untuk uwsgi
termasuk uwsgi_params;
uwsgi_pass unix:/tmp/360ito_uwsgi.sock_>x; -real-ip $remote_addr;
proxy_set_header host $host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
#proxy_pass http://localhost:5000;
# Forward 🎜 taip permintaan ke fastcgi
lokasi ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
serta fastcgi.conf>;# Log akses:
access_log /var/log /nginx/access.www.jb51.net.log;
# Muatkan fail tulis semula .htaccess tidak disokong di sini # tidak boleh ditulis sebagai sertakan $root/www.jb51.net/.htaccess; ralat berlaku, nama domain lain secara automatik akan melompat ke www.jb51.net
# Ambil perhatian bahawa apa yang saya katakan di sini ialah lompatan hanya akan berlaku apabila ralat akses berlaku, jadi ubah hala 301 tidak boleh dilaksanakan di sini!
server_name_in_redirect on;
}

7 Pasang versi terkini php (php5.3.14)


Salin kod Kod adalah seperti berikut:

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

Pelaksanaan:


Salin kod Kod adalah seperti berikut:

./buildconf - -force

jika Jika ralat dilaporkan, mungkin autoconf anda bukan versi 2.13 Untuk pepijat siri php5.3, anda perlu memasang autoconf versi 2.13:

Salin kod Kod adalah seperti berikut:

centos: # yum install autoconf213

debian: # apt-get install autoconf2.13


Tetapkan pembolehubah persekitaran

Salin kod Kod adalah seperti berikut:


# centos:

eksport php_autoconf="/usr/bin/autoconf-2.13"

# debian:
eksport php_autoconf="/usr /bin/autoconf2.13"

Jalankan semula: ./buildconf - -force, jika buildconf: autoconf versi 2.13 (ok)

muncul, ini bermakna kejayaan.

Kompil dan pasang php


Salin kod Kod adalah seperti berikut:

./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
--dengan-mysqli=/opt/db/percona-server-5.5.14-rel20.5/bin/mysql_config
--dengan-iconv-dir
--dengan-freetype- dir
- -dengan-jpeg-dir
--dengan-png-dir
--dengan-zlib
--dengan-libxml-dir
--dayakan-xml
--dayakan-mbstring
--dengan-gd
--dayakan-gd-native-ttf
--dengan-openssl
--dayakan-pengoptimuman-sebaris
buat && buat pemasangan
cp php .ini-production /opt/web/php/etc/php.ini
cd /opt/web/php/etc
cp php-fpm.conf.default php-fpm.conf

Ubah suai php-fpm.conf untuk membolehkan baris berikut, iaitu, keluarkan koma bertitik sebelumnya (;)


Salin kod Kod adalah seperti berikut:

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

dengar.pemilik = www

kumpulan dengar = www

mode dengar = 0666
pengguna = www
kumpulan = www
pm = dinamik
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
env[path] = /us /local/bin:/usr/bin:/ bin
env[tmp] = /tmp
env[tmpdir] = /tmp
env[temp] = /tmp

8. Mulakan php-fpm


Salin kod Kod adalah seperti berikut:

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

Mula nginx

Salin kod Kod adalah seperti berikut:

/opt/web/nginx/sbin/nginx

9 >Salin kod Kod adalah seperti berikut:

vim /var/webroot/www .jb51.net/tz.php

Masukkan dan simpan

Salin kod Kod adalah seperti berikut:

phpinfo();

?>

10. Masukkan: http://php.jb51.net/tz.php dalam bar alamat penyemak imbas
Jika berjaya, anda boleh melihat output maklumat oleh phpinfo()

Atas ialah kandungan terperinci Bagaimana untuk menggunakan nginx, php dan hos maya dalam persekitaran CentOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam