Maison > Article > Opération et maintenance > Utilisez nginx et nginx-rtmp-module pour créer un serveur multimédia en streaming
J'ai rencontré un problème très embarrassant lors de l'utilisation de nginx et nginx-rtmp-module pour créer un serveur multimédia de streaming. C'était la première approche que j'ai adoptée lors de l'ajout du module nginx-rtmp-module à nginx. puis téléchargez le code source de nginx et nginx-rtmp-module, recompilez-le et installez-le. Après la réinstallation, j'ai testé le serveur multimédia de streaming et c'était normal, mais ensuite le problème est venu parce que j'avais du WEB Les projets étaient déployés dans le LUMP. environnement qui a été construit auparavant. Maintenant que nginx a été réinstallé, ces projets doivent être redéployés. J'ai donc commencé à redéployer ces projets WEB, mais le résultat m'a fait pleurer dans les toilettes car la structure du répertoire nginx a beaucoup changé, je ne peux donc pas configurer le projet WEB d'origine. Après cela, j'ai lutté et erré pendant longtemps, j'ai cherché de nombreuses solutions sur Internet, mais la plupart de ces solutions se concentraient sur la façon de compiler et d'installer nginx et le push-pull. Le test de flux n'impliquait pas mon problème. Plus tard, lorsque je parcourais le message, j'ai vu quelqu'un dire que remplacer la bibliothèque partagée nginx d'origine par le fichier exécutable nginx compilé par moi-même pourrait résoudre le problème, alors je l'ai immédiatement essayé. Il s'est avéré que cela fonctionne vraiment ! Maintenant, nginx peut exécuter des services de streaming multimédia et déployer des projets WEB en même temps, et avoir le meilleur des deux mondes
Laissez-moi vous présenter brièvement mon processus de fonctionnement, dans l'espoir d'aider ceux qui le souhaitent ! rencontrez le même problème. Si vous avez un problème, veuillez apporter de l'aide (mon environnement de configuration : Ubuntu Server 16.04 + nginx1.10.0 + nginx-rtmp-module-master
1. Installez d'abord nginx en utilisant apt). -get. Utilisation actuelle Le numéro de version de nginx installé de cette manière est 1.10.0
1 sudo apt-get update2 sudo apt-get install nginx
2. Accédez à votre répertoire préféré et créez un répertoire avec votre nom préféré pour stocker. nginx et nginx -Le code source du module rtmp, par exemple : j'ai créé le répertoire nginx sous le répertoire racine/softwares (les logiciels ont également été créés par moi-même), puis je téléchargerai nginx et nginx-rtmp-module sur nginx répertoire.
1 cd softwares/2 sudo mkdir nginx
3. Entrez dans le répertoire nginx
1 cd nginx/
4. Téléchargez le code source nginx. La version du code source téléchargée doit être installée à l'étape 1. La version de nginx doit être cohérente pour éviter des problèmes inutiles. Il existe de nombreuses façons d'obtenir le code source de nginx. Voici deux méthodes recommandées :
Méthode a : Exécuter. Commande apt-get source nginx dans le terminal pour l'obtenir directement Le code source de la version correspondante
1 sudo apt-get source nginx
Cette méthode se décompressera automatiquement après le téléchargement. Le répertoire est le répertoire du code source de nginx.
Méthode b : dans Recherchez la version correspondante sur le site officiel de nginx et téléchargez-la
1 sudo wget nginx.org/download/nginx-1.10.0.tar.gz
Après le téléchargement. de cette façon, vous devez le décompresser manuellement vous-même. Commande de décodage :
1 sudo tar zxvf nginx-1.10.0.tar.gz
5. Téléchargez le code source de nginx-rtmp-module. >
1 sudo wget github.com/arut/nginx-rtmp-module/archive/master.zip
1 sudo unzip master.zip
1 cd nginx-1.10.0/
1 nginx -V
--with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads
1 sudo ./configure --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --add-module=../nginx-rtmp-module-master
1 sudo make
<.>
12. Redémarrez nginx.1 sudo nginx /usr/sbin
1 sudo service nginx restart
1 nginx -V
J'ai essayé le streaming push et pull, et la fonction était normale. J'ai réexécuté le projet WEB d'origine, et c'était également normal
Enfin, laissez-moi vous expliquer pourquoi vous devez installer nginx via apt- ! get d'abord, puis compiler et remplacer. La raison est de faciliter le déploiement de projets WEB dans l'environnement LUMP. Si vous n'installez pas d'abord nginx via apt-get, mais téléchargez directement le code source pour compiler et installer, la configuration de nginx. Le répertoire sera incomplet et il sera difficile de déployer le projet WEB (le déploiement peut également être réalisé via certaines opérations, mais vous devrez quand même passer du temps à étudier nginx pour l'opération spécifique. Si vous ne créez pas de service de streaming multimédia, je recommande). installer nginx via apt-get. Les étapes sont simples et sans souci !
.
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!