ubuntu Installez nginx à partir de sources officielles
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 Installez nginx à partir de sources ppa :
sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx
ubuntu Installez nginx à partir de sources régulières :
sudo apt-get install nginx
Compilez et installez 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
( Attention : nginx1.5.7 est la version principale plutôt que la version stable)
Afin de faciliter le développement et la gestion, j'ai créé un nouveau répertoire png dans le répertoire racine et défini le propriétaire du répertoire sur l'utilisateur actuel, et nginx a été compilé dans /png/nginx/1.5 .7 ci-dessous :
sudo mkdir /png sudo chown eechen:eechen /png
J'ai défini l'utilisateur en cours comme png:png, je dois donc créer un nouvel utilisateur comme ceci :
sudo addgroup png --system sudo adduser png --system --disabled-login --ingroup png --no-create-home --home /nonexistent --gecos "png user" --shell /bin/false
(Pour la commande permettant de créer un nouvel utilisateur, veuillez vous référer au script de pré-installation debian/preinst dans le package deb officiel)
Les paramètres de compilation font référence au package deb officiellement fourni par nginx (visible par 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
Remarque : dans cette étape, suivez l'erreur vous invite à installer les packages dépendants. C'est à ce moment-là qu'apt montrera sa puissance. Par exemple, mon système a ces packages installés :
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
Après avoir installé ces packages, vous n'aurez pas besoin de les installer la prochaine fois que vous compilerez un. nouvelle version de nginx, et ils répondent essentiellement aux exigences de configuration lors de la compilation de PHP.
D'accord, vous pouvez compiler et installer une fois la configuration réussie :
time make && make install
time est principalement utilisé pour vérifier le temps nécessaire à cette compilation.
Après la compilation , vous pouvez voir la taille de ce type :
du -sh /png/nginx/1.5.7/sbin/nginx
5.5m /png/nginx/1.5.7/sbin/nginx
Résumé de la configuration simple de l'environnement
Réduire la taille du fichier nginx après compilation :
Modifier le fichier source nginx- 1.5.7/auto/cc/gcc Supprimer informations de débogage (il suffit de les commenter) :
# debug # cflags="$cflags -g"
La taille du programme principal compilé est supérieure à 700 Ko, ce qui est similaire à la taille du programme du package deb officiellement fourni par nginx.
De plus, configurez lors de la suppression de certains modules inutiles , le fichier exécutable compilé sera plus petit. Bien sûr, j'ai besoin d'un script de service pour gérer nginx. Pour le moment, je peux également utiliser le script de service etc/init.d/ fourni dans le package deb officiel.
Je l'ai mis. le dans /png/nginx/1.5.7/nginx et apporté de légères modifications aux valeurs définies au début (lignes 13 à 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
htop Appuyez sur f4 pour filtrer nginx
Utilisez Top Can voir aussi le contenu similaire :
top -b -n1|head -n7 && top -b -n1|grep nginx
On peut voir que la mémoire physique totale occupée par les deux processus de nginx est inférieure à 2 m, et l'utilisation de la mémoire est très faible. De plus, la valeur res en top correspond à la valeur rss dans ps aux :
ps aux|head -n1 && ps aux|grep nginx
cat /proc/25047/status|grep threads
threads: 1
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服务了,比如重载配置
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!