Maison >Opération et maintenance >Nginx >Comment installer et configurer Nginx sur Ubuntu

Comment installer et configurer Nginx sur Ubuntu

PHPz
PHPzavant
2023-05-27 22:52:092129parcourir

ubuntu Installez nginx à partir de la source officielle

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 la source ppa:

sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx

ubuntu Installez nginx à partir de la source régulière:

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

Créez un répertoire cache avant de démarrer, sinon une erreur sera demandée :


mkdir /png/nginx/1.5.7/var/cache

Démarrez nginx:


sudo /png/nginx/1.5.7/nginx start

Page de test:


curl -i `hostname`

Regardez le port:


sudo netstat -antp|grep nginx

Regardez la mémoire qu'il occupe:

htop Appuyez sur f4 pour filtrer nginx

Comment installer et configurer Nginx sur Ubuntu

Utilisez Top Can voir aussi le contenu similaire :


top -b -n1|head -n7 && top -b -n1|grep nginx

Comment installer et configurer Nginx sur Ubuntu

Dépend principalement de la valeur de res, mémoire résidente (résident), à l'exclusion de la mémoire physique de l'espace d'échange, l'unité est ko, %mem utilise res comme objet de référence.

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

. Et nous pouvons voir nginx Le processus de travail n'a qu'un seul thread :

cat /proc/25047/status|grep threads
threads: 1

où 25047 est le numéro pid du processus de travail nginx.

Faites de nginx un service système et démarrez-le automatiquement au démarrage :


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服务了,比如重载配置

Enfin, le fichier de configuration principal de nginx se trouve dans /png/nginx/1.5 .7/conf/nginx.conf, configurez-le selon vos besoins.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer