Instale nginx en el entorno linux [armbian]

Instalación del entorno Linux [armbian]

  1. Descargue Nginx:
    Visite el [sitio web oficial de Nginx] (https://nginx.org/) y encuentre la última versión de Nginx en la página de descarga. Puede elegir una versión estable o una versión de desarrollo y hacer clic en el enlace de descarga correspondiente.

  2. Instalar dependencias:
    antes de instalar Nginx, debe instalar algunas dependencias necesarias, como herramientas de compilación y bibliotecas. Para sistemas basados ​​en Debian o Ubuntu, las dependencias se pueden instalar con el siguiente comando:

    sudo apt update
    sudo apt install build-essential
    
	sudo apt install libpcre3 libpcre3-dev
	```
	- 否则,你可能遇到这样的错误
		- 错误1:HTTP rewrite module需要PCRE库。
	- 错误:make命令没有找到所需的目标'build'```bash
	./configure: error: the HTTP rewrite module requires the PCRE library.
	You can either disable the module by using --without-http_rewrite_module
	option, or install the PCRE library into the system, or build the PCRE library
	statically from the source with nginx by using --with-pcre=<path> option.

	root@armbian:/usr/local/nginx# make
	make: *** No rule to make target 'build', needed by 'default'.  Stop.
	```
```bash
sudo apt install zlib1g zlib1g-dev
  • De lo contrario, encontrará este error de escritura:
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.


  • Señales de compilación exitosa:

    Configuration summary
      + using system PCRE library
      + OpenSSL library is not used
      + using system zlib library
    
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx modules path: "/usr/local/nginx/modules"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"
    
  • La compilación de Nginx se completó con éxito y se utilizan la biblioteca PCRE y la biblioteca zlib del sistema. Aquí hay alguna información de configuración importante:

elemento de configuración ruta/archivo
Prefijo de ruta Nginx “/usr/local/nginx”
Ruta del ejecutable Nginx “/usr/local/nginx/sbin/nginx”
Ruta del módulo Nginx “/usr/local/nginx/módulos”
Prefijo de configuración de Nginx “/usr/local/nginx/conf”
Ruta del archivo de configuración de Nginx “/usr/local/nginx/conf/nginx.conf”
Ruta del archivo pid de Nginx “/usr/local/nginx/logs/nginx.pid”
Ruta del archivo de registro de errores de Nginx “/usr/local/nginx/logs/error.log”
Ruta del archivo de registro de acceso HTTP de Nginx “/usr/local/nginx/logs/access.log”
Directorio de archivos temporales del cuerpo de la solicitud del cliente HTTP de Nginx “cliente_cuerpo_temp”
Directorio de archivos temporales del proxy HTTP de Nginx “proxy_temp”
Directorio de archivos temporales Nginx HTTP FastCGI “fastcgi_temp”
Directorio de archivos temporales Nginx HTTP uWSGI “uwsgi_temp”
Directorio de archivos temporales Nginx HTTP SCGI “scgi_temp”

Estas rutas y archivos son los ajustes de la configuración predeterminada y se pueden personalizar y modificar según sea necesario. nginx.confLos archivos se pueden editar para cambiar el puerto de escucha de Nginx, la configuración del host virtual, la configuración del proxy y más.


  1. Descomprimir y compilar:
    • Una vez completada la descarga, descomprima el paquete comprimido Nginx descargado en el directorio seleccionado.
    • Use la línea de comando para ingresar al directorio descomprimido y ejecute los siguientes comandos para compilar e instalar Nginx:
#查看文件的权限
ls -l configure
#添加执行权限
chmod +x configure
#使用sudo命令以超级用户权限运行
sudo ./configure
make
make install

inserte la descripción de la imagen aquí

  1. Inicie Nginx:
    después de editar el archivo de configuración, use el siguiente comando para iniciar Nginx ( /usr/local/nginxpara el directorio del proyecto):

    sudo /usr/local/nginx/sbin/nginx
    
  2. Verifique la instalación:
    abra un navegador y visite http://localhost,

inserte la descripción de la imagen aquí

Comandos comunes

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程
  • Para detener el servidor Nginx, puede usar el siguiente comando:

    • Use systemctlel comando (aplicable a los sistemas Linux que usan systemd, como Ubuntu 16.04+, CentOS 7+, etc.):
    sudo systemctl stop nginx
    
    • O use el programa ejecutable que viene con Nginx:
    sudo /usr/local/nginx/sbin/nginx -s stop
    
  • Si está usando una herramienta de administración de paquetes de instalación de Nginx (como apt o yum), puede usar el comando de administración de paquetes correspondiente:

    Usando apt (para Ubuntu/Debian):

    sudo apt-get remove nginx
    
    • Usando yum (para CentOS/RHEL):
    sudo yum remove nginx
    

Problemas encontrados y soluciones

Pregunta 1: error de replicación conf/koi-win

root@armbian:/usr/local/nginx# make install
make -f objs/Makefile install
make[1]: Entering directory '/usr/local/nginx'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin' \
        || mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx' \
        || mv '/usr/local/nginx/sbin/nginx' \
                '/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf' \
        || mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp: 'conf/koi-win' and '/usr/local/nginx/conf/koi-win' are the same file
make[1]: *** [objs/Makefile:1212: install] Error 1
make[1]: Leaving directory '/usr/local/nginx'
make: *** [Makefile:13: install] Error 2
  • Al copiar conf/koi-winarchivos, la ruta del archivo de destino es la misma que la ruta del archivo de origen.
  • Nginx no necesita copiar archivos al compilar e instalar conf/koi-win, por lo que este error no afectará la instalación y el funcionamiento de Nginx. Esto puede ser un problema menor durante el proceso de compilación y, por lo general, no afecta el uso normal de Nginx.

Solución

Puede intentar omitir este error con los siguientes pasos:

  1. Compile Nginx con sudo makeel comando en lugar de sudo make install.

  2. Después de que la compilación sea exitosa, copie manualmente el objs/nginxarchivo binario compilado en /usr/local/nginx/sbin/nginxla ruta.

  3. Cree manualmente el directorio del archivo de configuración de Nginx /usr/local/nginx/confy asegúrese de que haya un archivo de configuración correcto en ese directorio, por ejemplo nginx.conf, .

Los siguientes son posibles métodos de derivación:

# 编译Nginx
sudo make

# 复制编译生成的二进制文件
sudo cp objs/nginx /usr/local/nginx/sbin/nginx

# 创建配置文件目录(如果目录不存在)
sudo mkdir -p /usr/local/nginx/conf

# 确保在 /usr/local/nginx/conf 目录下有正确的配置文件,例如 nginx.conf

# 启动Nginx
sudo /usr/local/nginx/sbin/nginx

Problema 2: falta de directorios de registro relevantes

root@armbian:/usr/local/nginx# sudo cp objs/nginx /usr/local/nginx/sbin/nginx
root@armbian:/usr/local/nginx# sudo /usr/local/nginx/sbin/nginx
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
2023/07/05 23:51:04 [emerg] 26667#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)
  • El mensaje de error indica que Nginx no puede abrir el archivo de registro de errores y acceder al archivo de registro al inicio.

Solución

  • Puede deberse a que falta el directorio de registro relevante al instalar Nginx, o los permisos del directorio no están configurados correctamente.
  1. Cree el directorio de registro:
    Primero, asegúrese de que el directorio de registro /usr/local/nginx/logs/ya exista. Si no existe, puede crear el directorio y establecer los permisos correctos con el siguiente comando:

    sudo mkdir -p /usr/local/nginx/logs/ # 结合自己的路径进行灵活修改
    sudo chown -R <your_username>:<your_group> /usr/local/nginx/logs/
    
    • Reemplace <your_username>y <your_group>con el nombre de usuario y el grupo de su usuario actual.
  2. Verifique el archivo de configuración de Nginx:

    • Asegúrese de que las rutas de los registros de errores y los registros de acceso sean correctas en su archivo de configuración de Nginx.
    • Abra el archivo de configuración de Nginx /usr/local/nginx/conf/nginx.conf, busque y asegúrese de que las rutas de las siguientes dos líneas coincidan con el directorio de registro creado anteriormente:
    error_log  /usr/local/nginx/logs/error.log;
    access_log  /usr/local/nginx/logs/access.log;
    
    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    
  3. Inicie Nginx:

    sudo /usr/local/nginx/sbin/nginx
    

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/yang2330648064/article/details/131566052
Recomendado
Clasificación