普通用戶啟動nginx


nginx在Linux環境中的安全運行(普通用戶啟動,達到權限的最小化運行)

  由於1024以下的端口只對超級用戶開放,所以普通用戶啟動nginx需要設置端口在1024以上。

因此nginx要運行在80端口上需要配置防火牆端口轉發規則,nginx運行環境linux centos7.x

一,添加普通用戶 nginx 組module

groupadd module
useradd nginx -g module

二,修改nginx程序所屬對象

#查看nginx安裝位置
[root@hadoop01 ~]# find / -name nginx
/var/db/sudo/lectured/nginx
/var/spool/mail/nginx
/usr/local/nginx					#nginx安裝位置
/usr/local/nginx/sbin/nginx
/home/nginx						#nginx用戶(自己創建的)
/opt/tmpdir/nginx-1.8.1/objs/nginx

  更改/usr/local/nginx 的所屬對象和組

chown -R nginx:module /usr/local/nginx
#[root@hadoop01 ~]# ll /usr/local/nginx/
total 4
drwx------. 2 nginx module    6 Apr 21 00:11 client_body_temp
drwxr-xr-x. 2 nginx module 4096 Apr 21 03:05 conf
drwx------. 2 nginx module    6 Apr 21 00:11 fastcgi_temp
drwxr-xr-x. 2 nginx module   40 Apr 21 00:08 html
drwxr-xr-x. 2 nginx module   58 Apr 21 03:06 logs
drwx------. 2 nginx module    6 Apr 21 00:11 proxy_temp
drwxr-xr-x. 2 nginx module   19 Apr 21 00:08 sbin
drwx------. 2 nginx module    6 Apr 21 00:11 scgi_temp
drwx------. 2 nginx module    6 Apr 21 00:11 uwsgi_temp

  在nginx用戶的家目錄下創建nginx工作目錄 

mkdir -p /home/nginx/data /home/nginx/run /home/nginx/log
[nginx@hadoop01 ~]$ pwd
/home/nginx
[nginx@hadoop01 ~]$ ll
total 0
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 data
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 log
drwxr-xr-x. 2 nginx module 6 Jul 25 02:58 run

  修改nginx配置文件,所有涉及到文件訪問的,nginx用戶必須有rwx權限

vim /usr/local/nginx/conf/nginx.conf

  nginx.conf文件內容

user  nginx;
worker_processes  1;

error_log  /home/nginx/log/error.log;        #日志存放位置
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        /home/nginx/run/nginx.pid;        #進程號文件存放位置


events {
    use epoll;
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

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

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;            #非超級用戶不可以監聽1024以下端口
        server_name  hadoop01;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }  
    }
}

三,設置端口轉發規則

# 將80端口的流量轉發至8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
firewall-cmd --reload

四,切換到nginx用戶啟動nginx

su - nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  查看nginx進程

 五,測試

六,注意

  域名訪問需要在windows本地hosts文件中配置

  C:\Windows\System32\drivers\etc\hosts 中添加 192.168.86.131 hadoop01

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM