Nginx 강등 권 시작

Nginx 서비스 강등 권 을 주 고 lol 사용자 로 Nginx 를 뛰 어 다 니 며 개발 및 운영 에 일반 계 정 을 설정 합 니 다. lol 과 같은 그룹 이면 Nginx 를 관리 할 수 있 습 니 다. 이 방안 은 Nginx 관리 문 제 를 해결 하여 루트 배분 권한 이 너무 큰 것 을 방지 합 니 다.
개발 자가 일반 계 정 을 사용 하면 Nginx 및 사이트 아래 프로그램 문 제 를 관리 할 수 있 습 니 다.프로젝트 책임제 제 도 를 채택 하여 누가 프로젝트 의 유 지 를 책임 지고 문제 가 생기 면 누가 책임 을 집 니까?
 
1. nginx 기본 사용자 및 사용자 그룹 변경 (worker 프로 세 스 최적화)
a.  nginx  
[root@mysql-db01 conf]#  useradd www -s /sbin/nologin -'nginx'-=497(nginx) gid=498(nginx) groups=498-db01 conf]#

2. nginx. conf 사용 자 를 설정 합 니 다.
user  www www;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
.........

컴 파일 할 때 사용 자 를 지정 할 수도 있 습 니 다.
[root@mysql-db01 conf]# /application/nginx/sbin/nginx -V
nginx version: nginx/1.10.2built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with OpenSSL 1.0.1e-fips 11 Feb 2013TLS SNI support enabled
configure arguments: --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

 
3.  nginx 를 감옥 모드 로 실행 합 니 다.
 이런 방식 은 간단하게 말하자면 마스터 서 비 스 를 위 한 강등 권 이다. 루트 가 아 닌 nginx 마스터 를 사용한다.
메모: 80 특권 포트 를 사용 할 수 없습니다. 전단 nginx 역방향 프 록 시 포트 는 시작 할 때 설정 파일 을 지정 합 니 다. 일반 사용 자 는 1024 이상 의 포트 만 사용 할 수 있 습 니 다.
[root@web01 ~]# useradd lol   ##      
[root@web01 ~]# ll -ld /home/lol/drwx------ 2 inca inca 4096 Jul 31 18:19 /home/inca/[root@web01 ~]# 
[root@web01 ~]# su - lol    ##               

일반 사용자 에 게 들 어가 서 작업 하려 는 이 유 는 일반 사용자 가 자신 이 만 든 파일 에 대해 소유권 을 가지 게 하 는 것 입 니 다.
[inca@web01 ~]$ pwd/home/inca
[inca@web01 ~]$ mkdir conf  logs  www   ##         ,  ,    
[inca@web01 ~]$ cp /application/nginx/conf/mime.types ~/conf/    #               [inca@web01 ~]$ echo inca >www/index.html

기 존 프로필 nginx. conf 를 복사 하고 디 렉 터 리 를 수정 합 니 다.
[inca@www ~]$ cat conf/nginx.conf 
worker_processes  4;
worker_cpu_affinity 0001 0010 0100 1000;
worker_rlimit_nofile 65535;
error_log  /home/lol/logs/error.log;
user www www;     
pid        /home/lol/logs/nginx.pid;
events {
    use epoll;
    worker_connections  10240;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


    #web.fei fa dadong..............
    server {
        listen       8080;
        server_name  www.dadong.org 

;
        root   /home/lol/www;
        location / {
            index  index.php index.html index.htm;
                }
         access_log  /home/lol/logs/web_blog_access.log  main;
           }
}

 지정 한 프로필 을 사용 하여 nginx 를 시작 합 니 다.
[lol@web01 conf]$ -db01 conf]$ ps -ef |38719      1  0 23:15 ?        00:00:00 nginx: master process /data/nginx/sbin/nginx -c /home/lol/conf/38720  38719  0 23:15 ?        00:00:0038721  38719  0 23:15 ?        00:00:0038722  38719  0 23:15 ?        00:00:0038723  38719  0 23:15 ?        00:00:0038725  38685  0 23:15 pts/1    00:00:00 grep nginx

[lol@mysql-db01 conf]$ curl -I 10.0.0.51:8080HTTP/1.1 200 OKServer: nginx/1.10.2Date: Mon, 06 Nov 2017 15:34:21 GMTContent-Type: text/htmlContent-Length: 5Last-Modified: Mon, 06 Nov 2017 15:11:58 GMTConnection: keep-aliveETag: "5a007bbe-5"Accept-Ranges: bytes
[lol@mysql-db01 conf]$ curl 10.0.0.51:8080inca[lol@mysql-db01 conf]$
오류 가 발생 하면 권한 이 잘못 되 었 음 을 설명 합 니 다. 루트 의 logs 디 렉 터 리 를 일반 사용자 의 권한 을 추가 한 다음 루트 의 nginx 를 시작 합 니 다.  logs 디 렉 터 리 에 pid 파일 삭제

좋은 웹페이지 즐겨찾기