普通用户(非root)使用nginx

由于生产安全要求,日常运维用户不能拥有管理员权限,需使用普通用户更改nginx配置、重新加载配置、查看日志等操作

适用于使用rpm安装的nginx,目前在centos7上使用正常

rpm或yum安装nginx

添加nginx安装源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装nginx
yum install -y nginx
启动nginx和配置nginx开机启动
service nginx start && chkconfig nginx on

由于nginx需要使用的默认端口号是80,如果使用使用普通用户启动,只用使用1024以上的端口号,1024以内的端口号只能由root用户启动

使用rpm安装的nginx
默认配置文件在/etc/nginx
默认日志文件在/var/log/nginx
默认执行文件在/usr/sbin/nginx
nginx默认线程启动用户为nginx

创建普通用户和用户组
groupadd useradmin
useradd -g useradmin useradmin
passwd useradmin

方法1:

给与普通用户相应权限
chmod useradmin:useradmin /etc/nginx -R
chomd 777 /var/log/nginx
chomd 4755 /usr/sbin/nginx

之后普通用户即可可以执行
重新加载配置
/usr/sbin/nginx -s reload
修改配置文件
vim /etc/nginx/nginx.conf
查看日志文件
tailf /var/log/nginx/access.log

4755权限说明
chmod 4755与chmod 755对比多了附加权限值4,这个4表示其他用户执行文件时,具有与所有者同样的权限(设置了SUID)。
为什么要设置4755 而不是 755?
假设netlogin是root用户创建的一个上网认证程序,如果其他用户要上网也要用到这个程序,那就需要root用户运行chmod 755 netlogin命令使其他用户也能运行netlogin。但假如netlogin执行时需要访问一些只有root用户才有权访问的文件,那么其他用户执行netlogin时可能因为权限不够还是不能上网。这种情况下,就可以用 chmod 4755 netlogin 设置其他用户在执行netlogin也有root用户的权限,从而顺利上网。

方法2:

nginx各个目录赋权useradmin用户

chown -R useradmin /var/log/nginx/
chown -R useradmin /etc/nginx/
chown -R useradmin /etc/nginx/conf.d/*
chown -R useradmin /usr/sbin/nginx
chown -R useradmin /var/cache/nginx
mkdir -p /var/run/nginx
chown -R useradmin /var/run/nginx

nginx配置修改pid文件路径且端口使用1024以上端口
vi /etc/nginx/nginx.conf
#pid /var/run/nginx.pid;
pid /home/useradmin/nginx.pid;

方法3:

所有用户都可以运行(因为是755权限,文件所有者:root,组所有者:root)

chown root:root nginx
chmod 755 nginx
chmod u+s nginx

方法4:

仅 root 用户和 reistlin 用户可以运行(因为是750权限,文件所有者:root,组所有者:www)

chown root:www nginx
chmod 750 nginx
chmod u+s nginx

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
window 版本 nginx 最新版本 一般结合Tomcat 使用 配置信息如下: #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能 worker_connections 1024;#单个后台worker process进程的最大并发链接数 # multi_accept on; } #设定http服务器,利用它的反向代理功能提供负载均衡支持 http { #设定mime类型,类型由mime.type文件定义 include /etc/nginx/mime.types; default_type application/octet-stream; #设定日志格式 access_log /var/log/nginx/access.log; #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用, #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfile on; #tcp_nopush on; #连接超时时间 #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #开启gzip压缩 gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; #设定请求缓冲 client_header_buffer_size 1k; large_client_header_buffers 4 4k; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; #设定负载均衡的服务器列表 upstream mysvr { #weigth参数表示权值,权值越高被分配到的几率越大 #本机上的Squid开启3128端口 server 192.168.8.1:3128 weight=5; server 192.168.8.2:80 weight=1; server 192.168.8.3:80 weight=6; } server { #侦听80端口 listen 80; #定义使用www.xx.com访问 server_name www.xx.com; #设定本虚拟主机的访问日志 access_log logs/www.xx.com.access.log main; #默认请求 location / { root /root; #定义服务器的默认网站根目录位置 index index.php index.html index.htm; #定义首页索引文件的名称 fastcgi_pass www.xx.com; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include /etc/nginx/fastcgi_params; } # 定义错误提示页面 error_page 500 502 503 504 /50x.html; location = /50x.html { root /root; } #静态文件,nginx自己处理 location ~ ^/(images|javascript|js|css|flash|media|static)/ { root /var/www/virtual/htdocs; #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。 expires 30d; } #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置. location ~ \.php$ { root /root; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name; include fastcgi_params; } #设定查看Nginx状态的地址 location /NginxStatus { stub_status on; access_log on; auth_basic "NginxStatus"; auth_basic_user_file conf/htpasswd; } #禁止访问 .htxxx 文件 location ~ /\.ht { deny all; } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值