zoukankan      html  css  js  c++  java
  • Linux非root用户如何使用80端口启动程序

    默认情况下Linux的1024以下端口是只有root用户才有权限占用,我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出java.net.BindException: Permission denied:80的异常。 

    bind时perror提示错误信息:permission denied


    解决办法有两种: 
    1.使用非80端口启动程序,然后再用iptables做一个端口转发。 
      iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 
      用root用户直接去执行就可以了! 
    2.假设我们需要启动的程序是nginx,那么这么做也可以达到目的。 
    一开始我们查看nginx的权限描述: 
    -rwxr-xr-x 1 nginx dev 2408122 Sep  5 16:01 nginx 
    这个时候必然是无法正常启动的。 
    首先修改文件所属用户为root: 
    chown root nginx 
    然后再加上s权限: 
    chmod u+s nginx 
    再次查看权限描述的时候: 
    -rwsr-xr-x 1 root root 2408122 Sep  5 16:01 nginx 
    这样就能启动了。

  • 相关阅读:
    Object的公用方法
    Java的特点
    Set集合
    Java语言的三大特性
    List集合
    Collection类
    HashSet
    Codeforces1141F2 Same Sum Blocks (Hard)
    Codeforce1176F Destroy it!
    jzoj 5348. 【NOIP2017提高A组模拟9.5】心灵治愈
  • 原文地址:https://www.cnblogs.com/guigujun/p/6227261.html
Copyright © 2011-2022 走看看