普通用户nginx访问不了_Nginx降权启动之使用普通用户管理 | it运维_it技术_linux运维-追梦人博客...

一、介绍

1.1、什么是nginx降权启动

降权启动:即nginx的启动与管理使用非root用户来启动与管理,这样就防止每次修改配置重启时都需要用root用户来重启了。

注意:普通用户只能只用1024以上的端口,不可以直接使用80或者443端口(前面可以用代理来解决这一问题)。

二、实践

操作说明:使用www用户来管理与启动nginx。

2.1、如果是新装的系统需要做基础优化

2.2、首先要编译安装nginx

前面已经写过编译安装nginx了,如需编译请参考:编译安装Nginx

2.3、配置Nginx降权启动

1.创建普通用户(这里用www用户)

# useradd www           #创建用户

# echo "www_password" |passwd --stdint www          #设置密码

# su - www         #切换至普通用户

2.使用www用户创建nginx程序目录

$ mkdir nginx/{conf,logs,www,sbin}      #www用户创建降权后的nginx目录

# cp /usr/local/nginx/conf/mime.types /home/www/nginx/conf          #另开一个窗口,使用root用户copy配置文件中网页支持类型文件

# cp /usr/local/nginx/conf/nginx.conf /home/www/nginx/conf          #另开一个窗口,使用root用户拷贝nginx配置文件

# ln -s /home/www/nginx/sbin/nginx /usr/local/nginx/sbin/nginx       #建软连接

# chown -R www.www /home/www/nginx          #设置权限

3.修改nginx配置文件

$ cat /home/www/nginx/conf/nginx.conf

worker_processes auto;

worker_rlimit_nofile 65535;

error_log /home/www/nginx/logs/error.log;

pid /home/www/nginx/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"';

server {

listen 8080;

server_name localhost;

access_log /home/www/nginx/logs/web_blog_access.log main;

root /home/www/nginx/www;

location / {

index index.php index.html index.htm;

}

location ~.*\.(php|php5)?$ {

root /home/www/nginx/www;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.html;

include fastcgi.conf;

}

}

}

4.使用指定配置文件的方式启动nginx

$ /home/www/nginx/sbin/nginx -c /home/www/nginx/conf/nginx.conf -t          #检查语法

$ /home/www/nginx/sbin/nginx -c /home/www/nginx/conf/nginx.conf      #启动

三、解决非80对外访问的问题

刚刚说的使用非root用户启动nginx不可以使用80和443端口,可以通过前面加上负载均衡或者七牛云的CDN(支持端口映射)来实现对外的访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读书 | IT人如何直击本质洞察底层逻辑?

【好书共读】| 作者/Edison Zhou作为IT技术人,我们不仅要精进技术,也要在技术之外修炼自己的软能力。本质思考,是一种直击事物本质的能力,是思考“思考的方法”,是一切思考的原动力。我们不用担心这个能力在其他企业用…

编译AjaxControlToolkit发生错误如何解决?

错误的具体内容是:Error 1 Could not load file or assembly vjslib, Version2.0.0.0, Cultureneutral, PublicKeyTokenb03f5f7f11d50a3a or one of its dependencies. TemplateVSI\TemplateVSI.csproj 未能加载文件或程序集“vjslib, Version2.0.0.0, Cultureneut…

内网通mac能用吗_纯干货!小容量Mac装外置硬盘Windows系统最完美的方案!(多图)...

很多用Mac 的同学都会碰到一个很头疼的问题,那就是对 Windows系统的需求,macOS系统虽好,但是很多专业性软件都没有Mac 版本(特别是对国内的用户),这时大家就会对 Windows系统有需求了。这时候很多同学会想到使用虚拟机或者装 Boot…

卖shell看站什么意思_粤语俚语卖咸鸭蛋是什么意思?

点读:卖咸鸭蛋(maai6 haam4 aap3 daan6)点解:就是死了的意思点造句:粤:您搵丧彪啊,佢琴日去劈友唔小心赖咗嘢,宜家已经去咗卖咸鸭蛋啦~~普:你找丧彪吗,他昨天…

asp.net core安全事项(上)

隐藏web服务端信息创建一个asp.net core mcv web项目,运行,F12查看返回信息,如下图,会清晰看到服务端的类型是kestrel.有时安全检测要求不能显示服务端信息,这样在一定程度上能降低被 攻击的风险,具体代码如…

云水画中人,独立一江秋

转载于:https://blog.51cto.com/wuliguo/50014

python是c语言_python与c语言

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python语言调用c语言进行扩展,或者增加程序的运行速度都是特别方便的。 同时还能获得与c或者c几…

aes算法实现c语言_以C语言实现归并排序为例,谈谈五大常用算法之一的“分治法”...

分治算法,顾名思义就是“分而治之”,即把规模较大的复杂问题拆分为若干规模较小的类似子问题,并逐个解决,最后再将各个子问题的解决结果合并,得到原始问题的结果的方法。这个技巧是很多高效算法的基础,例如…

一朝读码深似海,不读源码薪难升!读懂.NET5源码,到底多重要?

谈到源码分析,很多人会有这样的疑问:“.NET5的基本功能我已经掌握了,还有读源码的必要吗?”实际上,阅读源码不仅能够帮你更深刻地理解底层设计原理,提升你的系统架构能力和编码功力,还能让你知道…

使用SQL语句获取SQL Server数据库登录用户权限

返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。语法sp_helprotect [ [ name ] object_statement ][ , [ username ] security_account ][ , [ grantorname ] grantor ][ , [ permissionarea ] type ]参数[name ] object_statement是当…

如何在 ASP.Net Core 使用 分布式缓存

ASP.Net Core 提供了多种类型的缓存,除了内存缓存和响应缓存之外,还提供了对 分布式缓存 的支持。在之前的一篇文章中,我讨论了 ASP.Net Core 的内存缓存。在本文中,我们将讨论如何在 ASP.Net Core 中使用分布式缓存,本…

50万数据生成6位数不重复字符串_R语言系列3:高级数据管理

R语言系列3:高级数据管理此文内容为《R语言实战》的笔记,人民邮电出版社出版。从高中电脑课学VB开始,大一课内开始学习C,到后来大二为了数模学习Matlab,到大三为了搞深度学习自学Python,到研究生之初学习St…

ぁ。。。爱。。。ぁ

有一老夫妻年逾50.经济条件不错,理当是安享退休的时候,却一起到律师那要办离婚。原因是自从结婚以来,两人争吵不断,老是意见不合。个性上又南辕北辙十分不和谐。二十多年的婚姻生活,要不是为了孩子着想,早就…

python对象_查找Python对象具有的方法

您似乎可以使用此代码,将“对象”替换为您感兴趣的对象: object_methods [method_name for method_name in dir(object) if callable(getattr(object, method_name))] 我在this site发现它.希望这应该提供更多细节! 对于那些获得AttributeErrors的人&am…

fcn网络训练代码_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...

使用 CNN 处理图像问题已经是常规操作,但此类方法会造成局部位置信息的损失。如何解决这个问题呢?来自中科院自动化所和北京中医药大学的研究者另辟蹊径,提出用图卷积网络解决语义分割问题。选自arXiv,作者:Yi Lu等&am…

盘点大厂的那些开源项目 - 小米科技

小米是一家以手机、智能硬件和IoT平台为核心的互联网公司,以智能手机、智能电视、笔记本等丰富的产品与服务。致力于让全球每个人都能享受科技带来的美好生活。“为发烧而生”是小米的产品概念。“让每个人都能享受科技的乐趣”是小米公司的愿景。小米公司应用了互联…

python做一个单项选择题系统_(完整版)python选择题word打印版

Python 单选题库 一、 python 语法基础 1 、 Python 3.x 版本的保留字总数是 A.27 B.29 C.33 D.16 2. 语言保留字的是 Python 不是 , 以下选项中 A while B pass C do D except 3. 以下选项中描述错误的是 , 程序格式框架 Python 关于 A Python 语言不采…

博主应邀参加YOCSEF虚拟化技术论坛

发布日期: 2007-11-18 中国计算机学会青年计算机科技论坛<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />CCF Young Computer Scientists & Engineers ForumYOCSEF于<?xml:namespace prefix st1 ns "urn:schema…

python中truncate的用法_在Python中操作文件之truncate()方法的使用教程

truncate()方法截断该文件的大小。如果可选的尺寸参数存在&#xff0c;该文件被截断(最多)的大小。大小默认为当前位置。当前文件位置不改变。注意&#xff0c;如果一个指定的大小超过了文件的当前大小&#xff0c;其结果是依赖于平台。注意&#xff1a;此方法不会在当文件工作…

聊聊如何构建一支自驱团队(二)

曾经有一位大佬分享他组建技术团队的心得&#xff0c;当时我问了他一个问题&#xff1a;请问你组建的团队是项目型组织&#xff0c;还是职能型组织。但是大佬似乎对于这个问题没有特别直接的回答&#xff0c;所以在这篇博客中&#xff0c;我想跟大家讨论一下这个问题。一&#…