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

Comment installer et configurer Nginx sur Ubuntu

PHPz
Libérer: 2023-05-27 22:52:09
avant
2139 Les gens l'ont consulté

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
Copier après la connexion

ubuntu Installez nginx à partir de la source ppa:

sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx
Copier après la connexion

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

sudo apt-get install nginx
Copier après la connexion

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
Copier après la connexion

( 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
Copier après la connexion

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
Copier après la connexion

(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 \
Copier après la connexion
--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
Copier après la connexion

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 \
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion
5.5m /png/nginx/1.5.7/sbin/nginx
Copier après la connexion

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"
Copier après la connexion

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
Copier après la connexion

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


mkdir /png/nginx/1.5.7/var/cache
Copier après la connexion

Démarrez nginx:


sudo /png/nginx/1.5.7/nginx start
Copier après la connexion

Page de test:


curl -i `hostname`
Copier après la connexion

Regardez le port:


sudo netstat -antp|grep nginx
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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

cat /proc/25047/status|grep threads
Copier après la connexion
threads: 1
Copier après la connexion

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服务了,比如重载配置
Copier après la connexion

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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal