ubuntu中使用nginx把本地80端口转到其他端口

因为只是在开发的过程中遇到要使用域名的方式访问, 而linux默认把1024以下的端口全部禁用.
在网上找了N多方式开启80端口无果后, 方才想到使用代理的方式转到其他端口.
自然而然就想到了用Nginx, 但在配置过程中也是出现了各种奇葩问题, 所以先做个笔记省得之后忘了.

注: 本文只是在Nginx上做最简单的端口跳转.

安装nginx

在ubuntu中安装nginx比较简单.

    sudo apt-get install nginx

坐等安装好即可.
或者也可以通过源码安装. 可参考: http://www.cnblogs.com/skynet/p/4146083.html

配置转发

nginx的默认安装路径在/usr/local/nginx下.
nginx的默认配置在/etc/nginx下.

把80端口指向8080端口, 方法如下:

修改nginx.conf

  • 注释掉改行:
    #nginx.conf 中 http 段最后会有以下这两句.
    #这样你就可以把已经配置好的各种 server conf 放在 sites-available 里,
    #如果想启用的时候只要复制或者软连接到上面两个文件夹里,想关掉或者更改配置的时候也比较方便.
    #
    #而默认情况下sites-enabled目录下会放一个sites-available/default的软链接,
    #在sites-available/default已经对localhost进行设置, 
    #导致无论你怎么修改nginx.conf对本地端口进行配置都不会生效. 一直报404错误.
    #所以此处要把sites-enabled注掉. 或者把该软链接换掉.
    #
    include /etc/nginx/conf.d/*.conf;
    #include /etc/nginx/sites-enabled/*; 
  • 在http配置项中增加如下内容:
    server {
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://localhost:8080;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
  • 重启nginx
    sudo service nginx restart //或者 sudo nginx -s reload
  • 然后就可以直接通过localhost/index.htm来访问8080端口的项目了.

nginx简单的操作命令

    sudo service nginx start        #启动
    sudo service nginx stop         #停止
    sudo service nginx restart      #重新启动
    sudo service nginx reload       #重新启动

    sudo nginx -s start     #启动
    sudo nginx -s stop      #停止
    sudo nginx -s restart   #重新启动
    sudo nginx -s reload    #重新加载配置

你可能感兴趣的:(Ubuntu)