


So kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung
编译安装nginx
切换目录到工作文件夹:
cd /usr/local/src
下载pcre源代码并安装
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz tar -zxvf pcre2-10.20.tar.gz mv ./pcre2-10.20.tar.gz ./pcre cd pcre ./configure --prefix=/usr/local/pcre make && make install
下载zlib源代码并安装
wget http://tenet.dl.sourceforge.net/project/libpng/zlib/1.2.8/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz mv ./zlib-1.2.8.tar.gz ./zlib cd zlib ./configure --prefix=/usr/local/zlib make && make install
下载nginx源代码并安装
wget http://nginx.org/download/nginx-1.8.1.tar.gz tar -zxvf nginx-1.8.1.tar.gz cd nginx-1.8.1 ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre --with-zlib=/usr/local/zlib make && make install
开机启动nginx
添加/ect/init.d/nginx,并写入脚本
#! /bin/bash # description: startup script for webserver on centos. cp it in /etc/init.d and # chkconfig --add nginx && chkconfig nginx on # then you can use server command control nginx # # chkconfig: 2345 08 99 # description: starts, stops nginx set -e path=$path:/usr/local/nginx/sbin/ desc="nginx daemon" name=nginx daemon=/usr/local/nginx/sbin/$name configfile=/usr/local/nginx/conf/nginx.conf pidfile=/var/run/nginx.pid scriptname=/etc/init.d/$name # gracefully exit if the package has been removed. test -x $daemon || exit 0 d_start() { $daemon -c $configfile || echo -n " already running" } d_stop() { kill -quit `cat $pidfile` || echo -n " not running" } d_reload() { kill -hup `cat $pidfile` || echo -n " can't reload" } case "$1" in start) echo -n "starting $desc: $name" d_start echo "." ;; stop) echo -n "stopping $desc: $name" d_stop echo "." ;; reload) echo -n "reloading $desc configuration..." d_reload echo "reloaded." ;; restart) echo -n "restarting $desc: $name" d_stop sleep 1 d_start echo "." ;; *) echo "usage: $scriptname {start|stop|restart|force-reload}" >&2 exit 3 ;; esac exit 0
chmod +x /etc/init.d/nginx chkconfig --add nginx chkconfig --level 2345 nginx on service nginx start
源码编译安装php5.6
下载php源代码
cd /usr/local/src wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror mv mirror php-5.6.24.tar.gz tar -zxvf php-5.6.24.tar.gz cd php-5.6.24
安装依赖的组件
xml扩展
apt-get install libxml2-dev
png扩展
apt-get install libpng12-dev
freetype扩展
apt-get -y install libfreetype6-dev
openssl扩展
apt-get install openssl apt-get install libcurl3-openssl-dev
jpeg扩展
apt-get install libjpeg-dev
编译语句
生成配置文件
./configure --prefix=/opt/php --with-config-file-path=/opt/php/lib --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl-dir=/usr --with-openssl --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --enable-gd-native-ttf --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli
安装了依赖的组件以后,应该就不会报错,如果报错请安装缺少的组件,然后重新生成配置文件。
编译&安装
make && make install
查看php服务器配置
当我们迁移服务器的时候,上述生成配置文件的代码需要与原php服务器的一直,我们可以使用php-config --configure-options查看。
php-config的位置在 php/bin/php-config
没有发现php.ini?
直接编译安装php之后,是没有php.ini的,我们可以从解压缩后的目录copy到/opt/php/lib,然后进行配置生效。
/opt/php/lib是在./configure中配置的路径
Das obige ist der detaillierte Inhalt vonSo kompilieren und installieren Sie PHP und Nginx in einer Ubuntu-Umgebung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Der Hauptarchitekturunterschied zwischen Nginx und Apache besteht darin, dass Nginx ereignisgesteuerte, asynchrone nicht blockierende Modell annimmt, während Apache Prozess- oder Threadmodell verwendet. 1) Nginx verarbeitet effizient hohe Konzernverbindungen über Ereignisschleifen und E/A-Multiplex-Mechanismen, die für statischen Gehalt und umgekehrter Proxy geeignet sind. 2) Apache nimmt ein Multi-Process- oder Multi-Thread-Modell an, das sehr stabil ist, aber einen hohen Ressourcenverbrauch aufweist und für Szenarien geeignet ist, in denen eine reichhaltige Modulerweiterung erforderlich ist.

Nginx eignet sich zum Umgang mit hohem gleichzeitiger und statischer Inhalt, während Apache für komplexe Konfigurationen und dynamische Inhalte geeignet ist. 1. Nginx behandelt effizient gleichzeitige Verbindungen, geeignet für hochverkehrsbedingte Szenarien, erfordert jedoch zusätzliche Konfiguration bei der Verarbeitung dynamischer Inhalte. 2. Apache bietet reichhaltige Module und flexible Konfigurationen, die für komplexe Bedürfnisse geeignet sind, jedoch eine schlechte hohe Parallelitätsleistung aufweisen.

Nginx und Apache haben jeweils ihre eigenen Vor- und Nachteile, und die Auswahl sollte auf bestimmten Bedürfnissen beruhen. 1.Nginx ist aufgrund seiner asynchronen nicht blockierenden Architektur für hohe Parallelitätsszenarien geeignet. 2. Apache eignet sich für Szenarien mit niedriger Konsequenz, die aufgrund seines modularen Designs komplexe Konfigurationen erfordern.

NginxUnit ist ein Open-Source-Anwendungsserver, der mehrere Programmiersprachen unterstützt und Funktionen wie dynamische Konfiguration, Zero-Ausfallzeit-Updates und integriertes Lastausgleich bietet. 1. Dynamische Konfiguration: Sie können die Konfiguration ohne Neustart ändern. 2. Mehrsprachiger Support: Kompatibel mit Python, Go, Java, PHP usw. 3.. Zero Ausfallzeit -Update: Unterstützt Anwendungsaktualisierungen, die die Dienste nicht unterbrechen. 4. Eingebautes Lastausgleich: Anfragen können auf mehrere Anwendungsinstanzen verteilt werden.

NginxUnit ist besser als Apachetomcat, Gunicorn und Node.JS integrierte HTTP-Server, geeignet für mehrsprachige Projekte und dynamische Konfigurationsanforderungen. 1) Unterstützt mehrere Programmiersprachen, 2) Bietet eine dynamische Konfiguration, 3) integrierte Lastausgleichsfunktion, die für Projekte geeignet ist, die eine hohe Skalierbarkeit und Zuverlässigkeit erfordern.

NginxUnit verbessert die Anwendungsleistung und -verwaltbarkeit mit seiner modularen Architektur- und dynamischen Rekonfigurationsfunktionen. 1) Das modulare Design umfasst Masterprozesse, Router und Anwendungsprozesse, die effizientes Management und Expansion unterstützen. 2) Die dynamische Rekonfiguration ermöglicht eine nahtlose Konfigurationsaktualisierung zur Laufzeit, die für CI/CD -Umgebungen geeignet ist. 3) Mehrsprachige Unterstützung wird durch dynamisches Laden der Sprachlaufzeit implementiert, wodurch die Flexibilität der Entwicklung verbessert wird. 4) Eine hohe Leistung wird durch ereignisorientierte Modelle und asynchrones E/A erzielt und bleibt auch unter hoher Parallelität effizient. 5) Die Sicherheit wird verbessert, indem Anwendungsprozesse isoliert und der gegenseitige Einfluss zwischen Anwendungen verringert wird.

NginxUnit kann verwendet werden, um Anwendungen in mehreren Sprachen bereitzustellen und zu verwalten. 1) Installieren Sie NginxUnit. 2) Konfigurieren Sie es, um verschiedene Arten von Anwendungen wie Python und PHP auszuführen. 3) Verwenden Sie seine dynamische Konfigurationsfunktion für die Anwendungsverwaltung. In diesen Schritten können Sie Anwendungen effizient bereitstellen und verwalten und die Projekteffizienz verbessern.

Nginx eignet sich besser zum Umgang mit hohen gleichzeitigen Verbindungen, während Apache besser für Szenarien geeignet ist, in denen komplexe Konfigurationen und Modulverlängerungen erforderlich sind. 1.Nginx ist bekannt für seine hohe Leistung und den niedrigen Ressourcenverbrauch und ist für eine hohe Parallelität geeignet. 2.APACHE ist bekannt für seine Stabilität und die reichhaltigen Modulverlängerungen, die für komplexe Konfigurationsanforderungen geeignet sind.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor
