首页 后端开发 php教程 nginx的基本使用(启动、关闭及域名映射访问)

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

Jul 29, 2016 am 09:02 AM
header iptables nginx proxy server

这几天捣鼓公司网站,采用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教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

tomcat服务器怎么让外网访问 tomcat服务器怎么让外网访问 Apr 21, 2024 am 07:22 AM

要让 Tomcat 服务器对外网访问,需要:修改 Tomcat 配置文件,允许外部连接。添加防火墙规则,允许访问 Tomcat 服务器端口。创建 DNS 记录,将域名指向 Tomcat 服务器公有 IP。可选:使用反向代理提升安全性和性能。可选:设置 HTTPS 以提高安全性。

thinkphp怎么运行 thinkphp怎么运行 Apr 09, 2024 pm 05:39 PM

ThinkPHP Framework 的本地运行步骤:下载并解压 ThinkPHP Framework 到本地目录。创建虚拟主机(可选),指向 ThinkPHP 根目录。配置数据库连接参数。启动 Web 服务器。初始化 ThinkPHP 应用程序。访问 ThinkPHP 应用程序 URL 运行。

Welcome to nginx!怎么解决? Welcome to nginx!怎么解决? Apr 17, 2024 am 05:12 AM

要解决 "Welcome to nginx!" 错误,需要检查虚拟主机配置,启用虚拟主机,重新加载 Nginx,如果无法找到虚拟主机配置文件,则创建默认页面并重新加载 Nginx,这样错误消息将消失,网站将正常显示。

docker容器之间如何通信 docker容器之间如何通信 Apr 07, 2024 pm 06:24 PM

Docker 环境中容器通信有五种方法:共享网络、Docker Compose、网络代理、共享卷、消息队列。根据隔离性和安全性需求,选择最合适的通信方法,例如利用 Docker Compose 简化连接或使用网络代理提高隔离性。

phpmyadmin怎么注册 phpmyadmin怎么注册 Apr 07, 2024 pm 02:45 PM

要注册 phpMyAdmin,需要先创建 MySQL 用户并授予其权限,然后下载、安装和配置 phpMyAdmin,最后登录到 phpMyAdmin 以管理数据库。

nodejs项目怎么部署到服务器 nodejs项目怎么部署到服务器 Apr 21, 2024 am 04:40 AM

Node.js 项目的服务器部署步骤:准备部署环境:获取服务器访问权限、安装 Node.js、设置 Git 存储库。构建应用程序:使用 npm run build 生成可部署代码和依赖项。上传代码到服务器:通过 Git 或文件传输协议。安装依赖项:SSH 登录服务器并使用 npm install 安装应用程序依赖项。启动应用程序:使用 node index.js 等命令启动应用程序,或使用 pm2 等进程管理器。配置反向代理(可选):使用 Nginx 或 Apache 等反向代理路由流量到应用程

html文件怎么生成网址 html文件怎么生成网址 Apr 21, 2024 pm 12:57 PM

要将 HTML 文件转换为网址,需要使用网络服务器,包括以下步骤:获取网络服务器。设置网络服务器。上传 HTML 文件。创建域名。路由请求。

phpmyadmin安装失败怎么办 phpmyadmin安装失败怎么办 Apr 07, 2024 pm 03:15 PM

phpMyAdmin 安装失败的故障排除步骤:检查系统要求(PHP 版本、MySQL 版本、Web 服务器);启用 PHP 扩展(mysqli、pdo_mysql、mbstring、token_get_all);检查配置文件设置(主机、端口、用户名、密码);检查文件权限(目录所有权、文件权限);检查防火墙设置(白名单 Web 服务器端口);查看错误日志(/var/log/apache2/error.log 或 /var/log/nginx/error.log);寻求技术支持(phpMyAdmin

See all articles