一般情况下没有这种需求,但对于强迫症患者来说,还是完整的走了一把。

  普通用户是不允许使用1024以下端口的,所以此次操作仍然需要root权限来进行配置。而且由于使用了root安装,因此nginx用户仍然需要部分root授权。

一、安装

  由于想后期维护偷懒,所以采取yum安装,这个需要用root装,因此nginx被安装到了系统的目录下面。涉及此次操作的目录及文件如下:

配置目录:/etc/nginx
配置文件:/etc/nginx/conf.d/default.conf
bin文件:/usr/sbin/nginx

二、配置相关权限(nginx用户已建好)

  1、将nginx用户加入到root组,同时修改相关目录为同组可写(chmod g+w path)。否则启动时会报没有目录权限。相关目录或文件如下:

usermod -g root nginx
chmod g+w /etc/nginx/conf.d  --此操作只为以后可以使用普通用户修改配置
chmod g+w /etc/nginx/conf.d/default.conf  --此操作只为以后可以使用普通用户修改配置
chmod g+w /var/cache/nginx  --若不赋权,则运行报无法创建目录的错

  2、修改为nginx用户添加特殊权限,具体原理请参看:Linux普通用户启动nginx

chmod u+s /usr/sbin/nginx

  3、由于运行时nginx需要访问的默认目录都是归属root用户,因此要么都做g+w赋权,要么在default.conf中修改默认路径,指向nginx用户的目录。如:

htmlroot:/usr/share/nginx/html

三、自签名ssl证书的制作,详细操作请参见:如何创建一个自签名的ssl证书(X509)

 $ openssl genrsa -des3 -out server.key     --生成私钥
$ openssl req -new -key server.key -out server.csr --生成CSR(证书签名请求),会要求输入一些信息,其中Common Name要填写域名,否则浏览器会警告
$ cp server.key server.key.org --删除私钥中的密码(可选)
$ openssl rsa -in server.key.org -out server.key --删除私钥中的密码(可选)
$ openssl x509 -req -days -in server.csr -signkey server.key -out server.crt --生成自签名证书

非root用户在80端口运行nginx的更多相关文章

  1. nginx反向代理 强制https请求 + 非root用户起80,443端口

    1. #强制使用https跳转 return 301 https://$server_name$request_uri;rewrite ^(.*)$ https://${server_name}$1 ...

  2. nginx 普通用户使用80端口启动nginx

    方法一: 依次执行如下命令 cd /usr/local/nginx/sbin/ chown root nginx chmod u+s nginx 优点是,方便简单,缺点是,既然sudo权限都不给了.这 ...

  3. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  4. Docker 为非root用户授权

    Docker 为非root用户授权: 当运行docker pull busybox时候,会提示sky用户无法调用docker. 那么应该把sky用户加入docker用户组,不过在添加的时候,又提示了如 ...

  5. Centos6.3 下使用 Tomcat-6.0.43 非root用户 jsvc模式部署 生产环境 端口80 vsftp

    一.安装JDK环境 方法一. 官方下载链接 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260 ...

  6. linux系统非ROOT用户80端口不能启动tomcat问题的变通办法——通过Iptables端口转发

    2010-07-17 13:21:42 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{ ...

  7. 如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China

    如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China 如何以非 root 用户将应用绑定到 80 端口-ssh 篇

  8. 短网址资料-nginx非root用户启动-systemctl启动脚本-分割root权限

    https://www.cnblogs.com/aspnethot/articles/3492191.htmlhttps://www.cnblogs.com/aspnethot/articles/34 ...

  9. zzw原创_非root用户下安装nginx

    想自己安装nginx,又不相用到root用户. 非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库.zlib库等, 1. 下载依赖包:下载地址 pcre(www.pcre. ...

随机推荐

  1. PIVOT和UNPIVOT使用详解

    一.使用PIVOT实现数据表的列转行 建表语句: DROP TABLE STUDENT; CREATE TABLE STUDENT ( 学生编号 BYTE) NULL , 姓名 BYTE) NULL ...

  2. 潭州课堂25班:Ph201805201 django 项目 第二课 git 版本控制 (课堂笔记)

    安装 git sudo apt-get install git 查看版本信息: git --version 演示: 创建个项目 创建文件夹 如果要对这个文件夹进行版本控制 先进到这个文件夹中, 命令查 ...

  3. BZOJ4381[POI2015]Odwiedziny——分块+长链剖分

    题目描述 给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i].Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并且 ...

  4. JS 单体内置对象

    内置对象: 由ECMAScript提供的.不依赖于宿主环境的对象,这些对象在ECMAScript程序执行之前就已经存在了. 不必由开发人员显式地实例化内置对象 比如: Object Array Str ...

  5. Flask jinja2

    {{ }} #引用 执行 非逻辑代码 {% %} #逻辑代码 引用变量 @app.template_global() # 全局函数 Markup # 安全标签字符串儿 {% macro func() ...

  6. Jupyter Notebook 介绍 安装和使用技巧

    Jupyter Notebook介绍.安装及使用教程 原文链接:https://www.jianshu.com/p/91365f343585 目录一.什么是Jupyter Notebook? 1. 简 ...

  7. HTML5 学习06——Geolocation(地理定位)

    HTML5 Geolocation(地理定位) HTML5 Geolocation API 用于获得用户的地理位置. 鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的. HTML ...

  8. ngClass指令3种使用

    CSS代码:1 .strike { text-decoration: line-through; } .bold { font-weight: bold; } .red { color: red; } ...

  9. Java RandomAccessFile与MappedByteBuffer

    Java RandomAccessFile与MappedByteBuffer https://www.cnblogs.com/guazi/p/6838915.html

  10. Java内存管理:Java内存区域 JVM运行时数据区

    转自:https://blog.csdn.net/tjiyu/article/details/53915869 下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些, ...