Maison >développement back-end >Problème PHP >Comment compiler et installer nginx et php
Comment compiler et installer nginx et php : 1. Installez les packages dépendants via la commande yum install ; 2. Téléchargez le package de code source, décompressez-le et compilez-le ; 3. Modifiez le fichier de configuration de l'hôte virtuel ; systemctl pour démarrer ; 5. Téléchargez php Et décompressez et compilez.
L'environnement d'exploitation de ce tutoriel : système windows10, version php7.2.33, ordinateur DELL G3
Comment compiler et installer nginx et php ?
nginx et php compilent et installent
nginx compile et installe
Installer les packages de dépendances
yum install -y gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel
Téléchargez le package de code source et décompressez
[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/
Compilez le code source
[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
Configuration de base
[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; } }
Démarrez nginx
nginx nginx -s reload 重启
Configurer le démarrage de systemctl
[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
php binaire
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
php compiler et installer
paquet de dépendances
téléchargement du code source
[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/
compile
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
configuration
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
démarrage du système
[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
test nginx
[root@web03 sbin]# cd /usr/local/nginx/html/ [root@web03 html]# cat index.php <?php phpinfo() ?> systemctl restart nginx
tester mysql
<?php $link=mysql_connect("172.25.90.14","root","redhat"); if(!$link) echo "FAILD!连接错误,用户名密码不对"; else echo "OK!可以连接"; ?>
Apprentissage recommandé : "Tutoriel vidéo PHP》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!