Heim Backend-Entwicklung PHP-Tutorial Kapitel zum Aufbau der LNMP-Umgebung – Nginx

Kapitel zum Aufbau der LNMP-Umgebung – Nginx

Aug 08, 2016 am 09:24 AM
http module nginx usr

1.Nginx配置文件测试

<code>root<span>@kallen</span><span>:/usr/local/nginx/sbin</span><span># nginx -t </span><span>nginx:</span> the configuration file /etc/nginx/nginx.conf syntax is ok 
<span>nginx:</span> configuration file /etc/nginx/nginx.conf test is successful</code>
Nach dem Login kopieren

2.Nginx启动

<code>[root<span>@kallen</span> ~]<span># /usr/local/nginx/sbin/nginx </span></code>
Nach dem Login kopieren

3.Nginx负载均衡

Nginx 的upstream 目前支持4 种方式的分配——

(1)轮询(默认) :

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

(2)weight :

指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

(3)ip_hash :

每个请求按访问ip 的hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。可以针对同一个C 类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

(4)fair(第三方):

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

(5)url_hash(第三方):

按访问url 的hash 结果来分配请求,使每个url 定向到同一个后端服务器,后端服务器为缓存时比较有效。

4.Nginx安装及配置

(1) nginx源码安装

<code>[root<span>@kallen</span> ~]<span># cd /usr/local/src/</span></code>
Nach dem Login kopieren
<code>[root<span>@kallen</span> ~]<span># wget http://syslab.comsenz.com/downloads/linux/nginx-0.9.6.tar.gz</span>
[root<span>@kallen</span> ~]<span># tar zxvf nginx-0.9.6.tar.gz</span>
[root<span>@kallen</span> ~]<span># cd nginx-0.9.6</span></code>
Nach dem Login kopieren
<code>./configure --prefix=/usr/local/nginx 
-<span>-sbin-path=<span>/usr/local</span><span>/nginx/sbin</span><span>/nginx 
</span></span>-<span>-conf-path=<span>/usr/local</span><span>/nginx/conf</span><span>/nginx.conf 
</span></span>-<span>-error-log-path=<span>/usr/local</span><span>/nginx/logs</span><span>/error.log 
</span></span>-<span>-http-log-path=<span>/usr/local</span><span>/nginx/logs</span><span>/access.log 
</span></span>-<span>-pid-path=<span>/usr/local</span><span>/nginx/var</span><span>/nginx.pid 
</span></span>-<span>-lock-path=<span>/usr/local</span><span>/nginx/var</span><span>/nginx.lock 
</span></span>-<span>-http-client-body-temp-path=<span>/dev/shm</span><span>/nginx_temp/client</span>_body 
</span>-<span>-http-proxy-temp-path=<span>/dev/shm</span><span>/nginx_temp/proxy</span></span>-<span>-http-fastcgi-temp-path=<span>/dev/shm</span><span>/nginx_temp/fastcgi</span></span>-<span>-user=www --group=www 
</span>-<span>-with-cpu-opt=pentium4F 
</span>-<span>-without-select_module 
</span>-<span>-without-poll_module 
</span>-<span>-with-http_realip_module 
</span>-<span>-with-http_sub_module 
</span>-<span>-with-http_gzip_static_module 
</span>-<span>-with-http_stub_status_module 
</span>-<span>-without-http_ssi_module 
</span>-<span>-without-http_userid_module 
</span>-<span>-without-http_geo_module 
</span>-<span>-without-http_memcached_module 
</span>-<span>-without-http_map_module 
</span>-<span>-without-mail_pop3_module 
</span>-<span>-without-mail_imap_module 
</span>-<span>-without-mail_smtp_module 
</span>-<span>-with-pcre=<span>/usr/local</span><span>/src/pcre</span>-<span>8.32</span>/ 
</span>-<span>-with-zlib=<span>/usr/local</span><span>/zlib</span></span></code>
Nach dem Login kopieren
<code>[root<span>@kallen</span> ~]<span># make && make install </span>
[root<span>@kallen</span> ~]<span># mkdir /dev/shm/nginx_temp</span></code>
Nach dem Login kopieren

有的nginx版本编译时会因为pcre编译不过去,需要修改一下
--with-pcre=/usr/local/src/pcre-8.32,前提是已经下载了pcre源码包pcre-7.8.tar.gz,并解压到/usr/local/src/pcre-8.32,不需要编译pcre.


在实际安装过程中可能需要手动安装以下依赖包:

a. 安装依赖软件

<code><span>apt</span><span>-</span><span>get</span><span>-</span><span>-</span><span>install</span><span>-</span><span>suggests</span><span>install</span><span>gcc</span><span>g</span><span>+</span><span>+</span><span>make</span></code>
Nach dem Login kopieren

b. 下载相关软件

<code>wget http://jaist<span>.dl</span><span>.sourceforge</span><span>.net</span>/project/pcre/pcre/<span>8.35</span>/pcre-<span>8.35</span><span>.tar</span><span>.gz</span>
wget http://zlib<span>.net</span>/zlib-<span>1.2</span><span>.8</span><span>.tar</span><span>.gz</span>
wget http://www<span>.openssl</span><span>.org</span>/source/openssl-<span>1.0</span><span>.1</span>g<span>.tar</span><span>.gz</span>
wget http://www<span>.canonware</span><span>.com</span>/download/jemalloc/jemalloc-<span>3.6</span><span>.0</span><span>.tar</span><span>.bz</span>2
wget http://tengine<span>.taobao</span><span>.org</span>/download/tengine-<span>2.0</span><span>.2</span><span>.tar</span><span>.gz</span></code>
Nach dem Login kopieren

c. 安装Pcre

<code>  tar zxvf pcre-<span>8.35</span><span>.tar</span><span>.gz</span>
  cd pcre-<span>8.35</span>
 ./configure --prefix=/usr/local/pcre-<span>8.35</span>
  make && make install</code>
Nach dem Login kopieren

d. 安装Zlib

<code>  tar zxvf zlib-<span>1.2</span><span>.8</span><span>.tar</span><span>.gz</span>
  cd zlib-<span>1.2</span><span>.8</span>
  ./configure --prefix=/usr/local/zlib-<span>1.2</span><span>.8</span>
  make && make install</code>
Nach dem Login kopieren

[ERROR]-1:

<code>./configure: error: <span>the</span> HTTP gzip module requires <span>the</span> zlib library. 
You can either disable <span>the</span> module <span>by</span><span>using</span><span>--without-http_gzip_module </span>
option, <span>or</span> install <span>the</span> zlib library <span>into</span><span>the</span><span>system</span>, <span>or</span> build <span>the</span> zlib library 
statically <span>from</span><span>the</span> source <span>with</span> nginx <span>by</span><span>using</span><span>--with-zlib=<path> opti</span></code>
Nach dem Login kopieren

[ERROR]-2:

<code>configure: error: You need a C<span>++ compiler for C+</span>+ support.
make[1]: *** [/usr/local/src/pcre-8.32/Makefile] Error 1
make[1]: Leaving directory <span>`/home/kallen/MyDOC/nginx-1.8.0'</span>
make: *** [build] Error 2</code>
Nach dem Login kopieren

安装完成后的配置信息如下:

<code>[Nginx <span>Configuration</span> Summary]
<span>Configuration</span> summary
+ using PCRE <span>library</span>: /usr/local/src/pcre-<span>8.32</span>
+ OpenSSL <span>library</span><span>is</span><span>not</span> used
+using builtin md5 code
+ sha1 <span>library</span><span>is</span><span>not</span> found
+ using zlib <span>library</span>: /usr/local/zlib
  nginx path prefix:<span>"/usr/local/nginx"</span>
  nginx binary <span>file</span>:<span>"/usr/local/nginx/sbin/nginx"</span>
  nginx <span>configuration</span> prefix:<span>"/usr/local/nginx/conf"</span>
  nginx <span>configuration</span><span>file</span>:<span>"/usr/local/nginx/conf/nginx.conf"</span>
  nginx pid <span>file</span>:<span>"/usr/local/nginx/var/nginx.pid"</span>
  nginx error log <span>file</span>:<span>"/usr/local/nginx/logs/error.log"</span>
  nginx http <span>access</span> log <span>file</span>:<span>"/usr/local/nginx/logs/access.log"</span>
  nginx http client request <span>body</span> temporary files:<span>"/dev/shm/nginx_temp/client_body"</span>
  nginx http proxy temporary files:<span>"/dev/shm/nginx_temp/proxy"</span>
  nginx http fastcgi temporary files:<span>"/dev/shm/nginx_temp/fastcgi"</span>
  nginx http uwsgi temporary files:<span>"uwsgi_temp"</span>
  nginx http scgi temporary files:<span>"scgi_temp"</span></code>
Nach dem Login kopieren

(2) 编写nginx启动脚本

<code>[root<span>@kallen</span> init.d]<span># vi /etc/init.d/nginx</span></code>
Nach dem Login kopieren

写入以下内容:

<code><span>#!/bin/bash</span><span>#        </span><span># Startup script for the Nginx HTTP Server</span><span>#</span><span># Kallen Ding, Apr 23 2015</span>NGINX_PATH=<span>"/usr/local/nginx/"</span>
OPTIONS=<span>"-c <span>${NGINX_PATH}</span>conf/nginx.conf"</span>
prog=nginx
nginx=<span>${NGINX_PATH}</span>sbin/nginx
pidfile=/var/run/nginx.pid

<span># Source function library.</span>
. /etc/rc.d/init.d/functions

<span><span>start</span></span>() {
    <span>echo</span> -n <span>"Starting <span>$prog</span>: "</span>
    daemon --pidfile=<span>${pidfile}</span><span>$nginx</span><span>$OPTIONS</span>
    RETVAL=$?
    <span>echo</span><span>return</span><span>$RETVAL</span>
}

<span><span>stop</span></span>() {
    <span>echo</span> -n <span>"Stopping <span>$prog</span>: "</span>
    killproc -p <span>${pidfile}</span><span>$nginx</span>
    RETVAL=$?
    <span>echo</span>
}
<span><span>reload</span></span>() {
    <span>echo</span> -n $<span>"Reloading <span>$prog</span>: "</span>
    killproc -p <span>${pidfile}</span><span>$nginx</span> -HUP
    RETVAL=$?
    <span>echo</span>
}

<span># See how we were called.</span><span>case</span><span>"<span>$1</span>"</span><span>in</span>
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  reload)
        reload
    ;;
  status)
    status <span>$prog</span>
    RETVAL=$?
    ;;
  *)
    <span>echo</span><span>"Usage: <span>$prog</span> {start|stop|restart|reload|status}"</span>
    RETVAL=<span>3</span><span>esac</span><span>exit</span><span>$RETVAL</span></code>
Nach dem Login kopieren

保存后,更改/etc/init.d/nginx的权限

<code>[root<span>@kallen</span> ~]<span># chmod 755 /etc/init.d/nginx</span>
[root<span>@kallen</span> ~]<span># chkconfig --add nginx</span>
[root<span>@kallen</span> ~]<span># chkconfig nginx on</span></code>
Nach dem Login kopieren

以上就介绍了LNMP环境搭建——Nginx篇,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

See all articles