Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk menyusun dan memasang nginx dan php

Bagaimana untuk menyusun dan memasang nginx dan php

藏色散人
Lepaskan: 2023-03-17 16:22:01
asal
5133 orang telah melayarinya

Cara untuk menyusun dan memasang nginx dan php: 1. Pasang pakej bergantung melalui arahan pemasangan yum; 2. Muat turun pakej kod sumber, nyahmampat dan kompilkan; nginx dan konfigurasikan systemctl untuk memulakan 5. Muat turun php, unzip dan susunkannya.

Bagaimana untuk menyusun dan memasang nginx dan php

Persekitaran pengendalian tutorial ini: sistem windows10, versi php7.2.33, komputer DELL G3

Cara untuk menyusun dan memasang nginx dan php?

penyusunan dan pemasangan nginx dan php

kompilasi dan pemasangan nginx

Pasang pakej pergantungan

yum install -y gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
Salin selepas log masuk

Muat turun pakej sumber Dan nyahzip

[root@web03 ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@web03 ~]# tar xf nginx-1.18.0.tar.gz
[root@web03 ~]# cd nginx-1.18.0/
Salin selepas log masuk

Kompilkan kod sumber

[root@web03 nginx-1.18.0]# ./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
[root@web03 nginx-1.18.0]#  make && make install
[root@web03 nginx-1.18.0]# cd /usr/local/nginx/
[root@web03 nginx]# tree
.
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx
Salin selepas log masuk

Konfigurasi asas

[root@web03 nginx]# useradd -s /sbin/nologin -M www
[root@web03 conf]# ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
[root@web03 nginx]# mkdir conf/conf.d
# 拆分默认配置和虚拟主机
user  www;
worker_processes  auto;
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    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;
    server_tokens off;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    gzip  on;
    include conf.d/*.conf;   
}
#虚拟主机配置文件
[root@web03 conf]# vim conf.d/www.conf
server {
    listen       80;
    server_name  localhost;
    charset utf-8;
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page  404              /404.html;
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    location ~ \.php$ {
        proxy_pass   http://127.0.0.1;
    }
    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME      
        $document_root$fastcgi_script_name;
        include        fastcgi_params;
        proxy_set_header   Referer           $http_referer;
        proxy_set_header   Cookie            $http_cookie;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   
       $proxy_add_x_forwarded_for;
    }
}
Salin selepas log masuk

Mulakan nginx

nginx
nginx -s reload 重启
Salin selepas log masuk

Konfigurasikan systemctl startup

[root@web03 conf]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid 
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Salin selepas log masuk

php binari

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php71w
Salin selepas log masuk

php menyusun dan memasang

pakej pergantungan

muat turun kod sumber

[root@web03 ~]# wget http://hk1.php.net/get/php-7.2.33.tar.gz
[root@web03 ~]# tar xf php-7.2.33.tar.gz
[root@web03 ~]# cd php-7.2.33/
Salin selepas log masuk

kompilasi

yum install bzip2 bzip2-devel -y
yum install  curl curl-devel -y
yum install php-mcrypt  libmcrypt  libmcrypt-devel -y
yum install readline-devel -y 
./configure --prefix=/usr/local/php7 --enable-fpm \
--with-zlib \
--enable-inline-optimization \
 --disable-debug \
--disable-rpath \
 --enable-shared \
--enable-opcache \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline 
make && make install
Salin selepas log masuk

Konfigurasi

ln -s /usr/local/php/bin/php /usr/bin/php
php -i | grep ini
Configuration File (php.ini) Path => /usr/local/php/lib
Scan this dir for additional .ini files => (none)
# 移动php.ini, 从源码拷贝
[root@web03 ~]# cp php-7.2.33/php.ini-production /usr/local/php/lib/php.ini
php -i | grep ini
Loaded Configuration File => /usr/local/php/lib/php.ini 已经加载配置文件
# php-fpm
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
# 更改www.conf
sed -i 's#nobody#www#g' www.conf
Salin selepas log masuk

Permulaan sistem

[root@web03 conf]# cat /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=php-fpm
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -INT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 启动
[root@web03 etc]# systemctl daemon-reload
[root@web03 etc]# systemctl start php-fpm.service
Salin selepas log masuk

Uji nginx

[root@web03 sbin]# cd /usr/local/nginx/html/
[root@web03 html]# cat index.php 
<?php
phpinfo()
?>
systemctl restart nginx
Salin selepas log masuk

Uji mysql<🎜 🎜>

Pembelajaran yang disyorkan :《
<?php 
$link=mysql_connect("172.25.90.14","root","redhat"); 
if(!$link) echo "FAILD!连接错误,用户名密码不对"; 
else echo "OK!可以连接"; 
?>
Salin selepas log masuk
Tutorial Video PHP

Atas ialah kandungan terperinci Bagaimana untuk menyusun dan memasang nginx dan php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan