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