欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx的基本使用(启动、关闭及域名映射访问)

程序员文章站 2022-04-11 14:52:03
...
这几天捣鼓公司网站,采用nginx+tomcat协同工作,里面一些东西做一下相关备份,以备后来工作中的使用

1、停止nginx:停止操作是通过向nginx进程发送信号来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'
平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
或者使用
/usr/sbin/nginx -s reload
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/nginx.conf
或者
/usr/sbin/nginx -t

2、启动nginx

启动命令:/usr/sbin/nginx -c /usr/nginx/nginx.conf

-c制定配置文件的路径

3、nginx的域名访问配置

域名A:www.a.com的配置文件如下:(样例)

server {
    listen       80;
    server_name  *.a.com;
    location / {
        proxy_pass http://localhost:8080/projectA/;
        proxy_set_header   Host    $host;
        proxy_set_header   X-Real-IP   $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
本人实做:

upstream tomcat_web{
      server localhost:8080 weight=10;
    }

    server {
        listen       80  default_server;
        listen       [::]:80  default_server;
        server_name  www.XXXXXX.net;
        #	index index.jsp
        # root         /home/microlink/app/site;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            #jsp网站程序根目录,一般nginx与tomcat在同一个目录
            root  /home/xxx/xxx/site;
            index  index.html index.jsp index.html;
        }

        location ~ .*\.jsp$ {
             proxy_connect_timeout   3;  
             proxy_send_timeout      30;  
             proxy_read_timeout      30;  
             proxy_pass http://localhost:8080;
	     proxy_set_header   Host    $host;
	     proxy_set_header   X-Real-IP   $remote_addr;
	     proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;  
        }

4、防火墙的开启、关闭及状态查询

  • 查看防火墙状态。
    systemctl status firewalld
  • 查看防火墙状态
    chkconfig iptables --list
  • 临时关闭防火墙命令。重启电脑后,防火墙自动起来。
    systemctl stop firewalld
  • 永久关闭防火墙命令。重启后,防火墙不会自动启动。
    systemctl disable firewalld
  • 打开防火墙命令。
    systemctl enable firewalld
  • (1) 重启后永久性生效:
  • 开启:chkconfig iptables on
    关闭:chkconfig iptables off
    (2) 即时生效,重启后失效:
    开启:service iptables start
    关闭:service iptables stop
    需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
    在开启了防火墙时,做如下设置,开启相关端口,
    修改/etc/sysconfig/iptables 文件,添加以下内容:
    -A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 80 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state ——state NEW -m tcp -p tcp ——dport 22 -j ACCEPT
    或者:
    /etc/init.d/iptables status 会得到一系列信息,说明防火墙开着。
    /etc/rc.d/init.d/iptables stop 关闭防火墙
    最后:
    在根用户下输入setup,进入一个图形界面,选择Firewall configuration,进入下一界面,选择Security Level为Disabled,保存。重启即可。
    ======================================================
    fedora下
    /etc/init.d/iptables stop
    =======================================================
    ubuntu下:
    由于UBUNTU没有相关的直接命令
    请用如下命令
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    暂时开放所有端口
    Ubuntu上没有关闭iptables的命令
    =======================================================
    iptables 是linux下一款强大的防火墙,在不考虑效率的情况下,功能强大到足可以替代大多数硬件防火墙,但是强大的防火墙如果应用不当,可能挡住的可不光是那些潜在的攻击,还有可能是你自己哦。这个带来的危害对于普通的个人PC来说可能无关紧要,但是想象一下,如果这是一台服务器,一旦发生这样的情况,不光是影院正常的服务,还需要到现场去恢复,这会给你带来多少损失呢?
    所以我想说的是,当你敲入每一个iptables 相关命令的时候都要万分小心。
    1.应用每一个规则到DROP target时,都要仔细检查规则,应用之前要考虑他给你带来的影响。
    2.在redhat中我们可以使用service iptables stop来关闭防火墙,但是在有些版本如ubuntu中这个命令却不起作用,大家可能在网上搜索到不少文章告诉你用iptables -F这个命令来关闭防火墙,但是使用这个命令前,千万记得用iptables -L查看一下你的系统中所有链的默认target,iptables -F这个命令只是清除所有规则,只不会真正关闭iptables.想象一下,如果你的链默认target是DROP,本来你有规则来允许一些特定的端口,但一旦应用iptables -L ,清除了所有规则以后,默认的target就会阻止任何访问,当然包括远程ssh管理服务器的你。
    所以我建议的关闭防火墙命令是
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -F
    总之,当你要在你的服务器上做任何变更时,最好有一个测试环境做过充分的测试再应用到你的服务器。除此之外,要用好iptables,那就要理解iptables的运行原理,知道对于每一个数据包iptables是怎么样来处理的。这样才能准确地书写规则,避免带来不必要的麻烦。

参考链接:

http://bbs.51cto.com/thread-1095321-1-1.html

http://blog.csdn.net/kobejayandy/article/details/20867351

http://www.cnblogs.com/freespider/p/4684586.html

http://blog.csdn.net/tongzidane/article/details/42291857(nginx安装、配置等)


以上就介绍了nginx的基本使用(启动、关闭及域名映射访问),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。