Directorio de artículos
Instalación del entorno Linux [armbian]
-
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. -
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.conf
Los 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.
- 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
-
Inicie Nginx:
después de editar el archivo de configuración, use el siguiente comando para iniciar Nginx (/usr/local/nginx
para el directorio del proyecto):sudo /usr/local/nginx/sbin/nginx
-
Verifique la instalación:
abra un navegador y visitehttp://localhost
,
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
systemctl
el 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
- Use
-
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-win
archivos, 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:
-
Compile Nginx con
sudo make
el comando en lugar desudo make install
. -
Después de que la compilación sea exitosa, copie manualmente el
objs/nginx
archivo binario compilado en/usr/local/nginx/sbin/nginx
la ruta. -
Cree manualmente el directorio del archivo de configuración de Nginx
/usr/local/nginx/conf
y asegúrese de que haya un archivo de configuración correcto en ese directorio, por ejemplonginx.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.
-
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.
- Reemplace
-
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;
-
Inicie Nginx:
sudo /usr/local/nginx/sbin/nginx