CentOS 7에서 chroot nginx 서버를 실행하고 있습니다. nginx를 시작하려고 하면 다음 오류가 발생합니다 getpwnam("nginx") failed in /etc/nginx/nginx.conf:5
. 필요한 라이브러리, 디렉토리( /etc, /var, /proc, /usr, /lib, /dev
) 등을 복사했습니다 . 루트로 서비스를 시작했습니다.
내 nginx.conf:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
[root@centos user]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
사용자/그룹이 존재합니다:
[root@centos user]# cat /var/www/chroot/etc/passwd | grep nginx
nginx:x:993:988:Nginx web server:/var/lib/nginx:/bin/bash
[root@centos user]# cat /var/www/chroot/etc/group | grep nginx
nginx:x:988:
또한 내 사용자 정의 nginx.service 파일은 다음과 같습니다.
[Unit]
Description=A high performance web server and a reverse proxy server in a
chroot jail
After=syslog.target network.target
[Service]
Type=forking
RootDirectory=/var/www/chroot
PIDFile=/var/www/chroot/run/nginx.pid
ExecStartPre=/usr/sbin/chroot /var/www/chroot /usr/sbin/nginx -t -q -g 'pid
/run/nginx.pid; daemon on; master_process on;'
ExecStart=/usr/sbin/chroot /var/www/chroot /usr/sbin/nginx -g 'pid
/run/nginx.pid; daemon on; master_process on;'
ExecReload=/usr/sbin/chroot /var/www/chroot /usr/sbin/nginx -g 'pid
/run/nginx.pid; daemon on; master_process on;' -s reload
ExecStop=/usr/sbin/chroot /var/www/chroot /usr/sbin/nginx -g 'pid
/run/nginx.pid;' -s quit
RootDirectoryStartOnly=yes
[Install]
WantedBy=multi-user.target
nginx 버전:
[root@centos user]# yum info nginx
Installed Packages
Name : nginx
Arch : x86_64
Epoch : 1
Version : 1.10.2
Release : 1.el7