ubuntu Nginx von offiziellen Quellen installieren
cd ~ wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key sudo nano /etc/apt/sources.list # 添加以下两句 deb http://nginx.org/packages/ubuntu/ precise nginx deb-src http://nginx.org/packages/ubuntu/ precise nginx sudo apt-get update sudo apt-get install nginx
ubuntu Nginx von ppa-Quellen installieren:
sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx
ubuntu Nginx von regulären Quellen installieren:
sudo apt-get install nginx
Kompilieren und installiere Nginx
wget http://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.5.7-1~precise_i386.deb wget http://nginx.org/download/nginx-1.5.7.tar.gz tar xzf nginx-1.5.7.tar.gz cd nginx-1.5.7
( Achtung: nginx1.5.7 ist die Hauptversion und nicht die stabile Version)
Um die Entwicklung und Verwaltung zu erleichtern, habe ich ein neues PNG-Verzeichnis im Stammverzeichnis erstellt und den Verzeichnisbesitzer auf den aktuellen Benutzer festgelegt, und Nginx wurde kompiliert in /png/nginx/1.5 .7 unten:
sudo mkdir /png sudo chown eechen:eechen /png
Ich habe den laufenden Benutzer als png:png definiert, also muss ich einen neuen Benutzer wie folgt erstellen:
sudo addgroup png --system sudo adduser png --system --disabled-login --ingroup png --no-create-home --home /nonexistent --gecos "png user" --shell /bin/false
(Für den Befehl zum Erstellen eines neuen Benutzers Bitte beachten Sie das Vorinstallationsskript debian/preinst im offiziellen Deb-Paket)
Die Kompilierungsparameter beziehen sich auf das offiziell von Nginx bereitgestellte Deb-Paket (sichtbar durch nginx -v).
./configure \
--prefix=/png/nginx/1.5.7 \ --sbin-path=/png/nginx/1.5.7/sbin/nginx \ --conf-path=/png/nginx/1.5.7/conf/nginx.conf \ --error-log-path=/png/nginx/1.5.7/var/log/error.log \ --http-log-path=/png/nginx/1.5.7/var/log/access.log \ --pid-path=/png/nginx/1.5.7/var/run/nginx.pid \ --lock-path=/png/nginx/1.5.7/var/run/nginx.lock \ --http-client-body-temp-path=/png/nginx/1.5.7/var/cache/client_temp \ --http-proxy-temp-path=/png/nginx/1.5.7/var/cache/proxy_temp \ --http-fastcgi-temp-path=/png/nginx/1.5.7/var/cache/fastcgi_temp \ --http-uwsgi-temp-path=/png/nginx/1.5.7/var/cache/uwsgi_temp \ --http-scgi-temp-path=/png/nginx/1.5.7/var/cache/scgi_temp \ --user=png \ --group=png \ --with-http_ssl_module \ --with-http_realip_module \ --with-http_addition_module \ --with-http_sub_module \ --with-http_dav_module \ --with-http_flv_module \ --with-http_mp4_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_random_index_module \ --with-http_secure_link_module \ --with-http_stub_status_module \ --with-mail \ --with-mail_ssl_module \ --with-file-aio \ --with-ipv6
Hinweis: Befolgen Sie in diesem Schritt Der Fehler fordert dazu auf, die abhängigen Pakete zu installieren. Auf meinem System sind beispielsweise folgende Pakete installiert:
sudo apt-get -y install \
build-essential \ autoconf \ libtool \ libxml2 \ libxml2-dev \ openssl \ libcurl4-openssl-dev \ libbz2-1.0 \ libbz2-dev \ libjpeg-dev \ libpng12-dev \ libfreetype6 \ libfreetype6-dev \ libldap-2.4-2 \ libldap2-dev \ libmcrypt4 \ libmcrypt-dev \ libmysqlclient-dev \ libxslt1.1 \ libxslt1-dev \ libxt-dev \ libpcre3-dev
Nach der Installation dieser Pakete müssen Sie sie beim nächsten Kompilieren nicht mehr installieren Neue Version von Nginx, und sie erfüllen grundsätzlich die Konfigurationsanforderungen beim Kompilieren von PHP.
Okay, Sie können kompilieren und installieren, nachdem die Konfiguration erfolgreich war:
time make && make install
Zeit wird hauptsächlich verwendet, um die für diese Kompilierung benötigte Zeit zu überprüfen.
Nach der Kompilierung , Sie können die Größe dieses Kerls sehen:
du -sh /png/nginx/1.5.7/sbin/nginx
5.5m /png/nginx/1.5.7/sbin/nginx
Zusammenfassung der einfachen Konfiguration der Umgebung
Reduzieren Sie die Dateigröße von Nginx nach der Kompilierung:
Bearbeiten Sie die Quelldatei nginx- 1.5.7/auto/cc/gcc Entfernen Debug-Informationen (einfach auskommentieren):
# debug # cflags="$cflags -g"
Die Größe des kompilierten Hauptprogramms beträgt mehr als 700 KB, was der Größe des von Nginx offiziell bereitgestellten Deb-Paketprogramms ähnelt.
Zusätzlich konfigurieren Beim Entfernen einiger unnötiger Module , die kompilierte ausführbare Datei wird natürlich kleiner sein. Ich benötige zu diesem Zeitpunkt auch das Serviceskript etc/init.d/, das im offiziellen Deb-Paket enthalten ist es in /png/nginx/1.5.7/nginx und nahm geringfügige Änderungen an den zu Beginn definierten Werten vor (Zeilen 13 bis 19):
path=/sbin:/usr/sbin:/bin:/usr/bin desc=nginx name=nginx conffile=/etc/nginx/nginx.conf daemon=/usr/sbin/nginx pidfile=/var/run/$name.pid scriptname=/etc/init.d/$name 改为 path=/sbin:/usr/sbin:/bin:/usr/bin desc=nginx name=nginx conffile=/png/nginx/1.5.7/conf/nginx.conf daemon=/png/nginx/1.5.7/sbin/nginx pidfile=/png/nginx/1.5.7/var/run/$name.pid scriptname=/png/nginx/1.5.7/$name
mkdir /png/nginx/1.5.7/var/cache
sudo /png/nginx/1.5.7/nginx start
curl -i `hostname`
sudo netstat -antp|grep nginx
Top-Dose verwenden Siehe auch ähnlichen Inhalt:
top -b -n1|head -n7 && top -b -n1|grep nginx
Hängt hauptsächlich vom Wert von res ab, residenter Speicher (resident), mit Ausnahme des physischen Speichers des Auslagerungsraums, die Einheit ist KB, %mem verwendet res als Referenzobjekt.
Es ist ersichtlich, dass der gesamte von den beiden Prozessen von Nginx belegte physische Speicher weniger als 2 m beträgt und die Speichernutzung sehr gering ist. Darüber hinaus entspricht der res-Wert oben dem RSS-Wert in ps aux:ps aux|head -n1 && ps aux|grep nginx
cat /proc/25047/status|grep threads
threads: 1
wobei 25047 die PID-Nummer des Nginx-Arbeitsprozesses ist.
Machen Sie Nginx zu einem Systemdienst und starten Sie ihn beim Booten automatisch:
sudo ln -s /png/nginx/1.5.7/nginx /etc/init.d/png-nginx sudo update-rc.d png-nginx defaults #开机自启动 sudo update-rc.d -f png-nginx remove # 以后不想开机自启动可以这样禁止 sudo service png-nginx reload #这样就可以用service来管理nginx服务了,比如重载配置
Das obige ist der detaillierte Inhalt vonSo installieren Sie das Nginx-Serverprogramm und die einfache Umgebungskonfiguration unter Ubuntu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!