当前位置:首页 > 技术文章 > 正文内容

如何解决Nginx服务器,启动成功,访问无效

arlanguage5个月前 (12-09)技术文章48

前言

服务器:阿里云服务器 Ubuntu 16.04.3 LTS

自己弄了个学习的demo,搭建了vue + elementui + spring boot 前后端分离。将项目部署到服务器上面。
装好nginx,为了避免冲突,将端口改为了8001,启动nginx,发现访问不了!

查找问题

1.先查看nginx配置是否正确
执行下面的命令:

nginx -t   #查看nginx配置是否正确  也可以切换到nginx的安装目录下的sbin目录下,执行: ./nginx -t1

2.查看nginx是否启动成功

ps -ef | grep nginx  #查看nginx端口1

我先执行了1,2,发现nginx配置没问题,且启动成功了!那么,我预感到是端口没开放,因为用的是阿里云的服务器,需要先配置安全组。
3.配置阿里云安全组,即放开对应的端口,让其他主机可以访问


ps:nginx里面我配置的端口8001,故这里放开8000-9000范围的端口。但是访问还是不行,那应该是服务器自身没有放开8001这个端口。

4.检查服务器对应的端口是否放开
4.1检查防火墙是否开启

然后怀疑是防火墙问题:
RHEL7 中使用了
firewalld代替了原来的iptables,操作设置和原来有点不同:

查看防火墙状态: systemctl status firewalld 或者 systemctl is-active firewalld
启动防火墙: systemctl start firewalld
停止防火墙: systemctl stop firewalld
永久停用: systemctl disable firewalld
启用防火墙: systemctl enable firewalld

我选择关闭防火墙,然后重启tomcat服务,再次访问,发现还是不行。

其次怀疑是端口被占用:
修改tomcat/conf/server.xml,将8080端口号改为8090,重启服务,发现可以正常访问。

**那么**8080端口号被谁占用了呢?
使用
netstat –apn | grep 8080,查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name 。

 
oracle 22725 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN) 
oracle 22725 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT) 
oracle 22725 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT) 
oracle 22725 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT) 
oracle 22726 oracle9i 3u IPv4 18621468 TCP RHEL3:6800 (LISTEN) 
oracle 22726 oracle9i 4u IPv4 18621469 TCP RHEL3:6800->RHEL3:2174 (CLOSE_WAIT) 
oracle 22726 oracle9i 8u IPv4 18621568 TCP RHEL3:6800->RHEL3:2175 (CLOSE_WAIT) 
oracle 22726 oracle9i 9u IPv4 18621578 TCP RHEL3:6800->RHEL3:2176 (CLOSE_WAIT)

(1)查看开放的所有端口
命令一
netstat -a # 查看所有服务端口
命令二
nmap + ip地址 # 如:nmap 127.0.0.1

(2)很多时候 telnet 完就无法退出了,ctrl+c 有时也无法退出;
这个时候先执行:
ctrl+] 然后在telnet 命令行输入 quit 就可以退出了

4.2.2.放开端口,让其他主机可以访问:
请查阅该篇博客:linux端口开放指定端口的两种方法


总结;一起学习的可以后台私信“资料”送相关学习资料可以一起学习交流大家也可以关注一下,记得后台私信“资料”送学习视频需要C/C++ Linux服务器架构师学习资料后台私信“资料”(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等等。。。),免费分享


扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/32.html

分享给朋友:

“如何解决Nginx服务器,启动成功,访问无效” 的相关文章

Linux下各种连接数配置及高并发Nginx优化

前言在性能测试过程中,经常会接触到链接数相关的问题,那就是一台服务器最多能支持多少链接数呢?有的朋友可能会说是65535,因为操作系统有65535个端口,那么这个答案准确吗?首先先了解下如何标识一个链接,操作系统是通过一个四元组来标识一个TCP链接:{本地ip,本地port,远程ip,远程port}...

405状态码Nginx解决办法

最近由于业务系统并发量比较大,所以在已有负载均衡的基础上,我们做了Nginx动静分离,但是系统访问后报错,经过F12(浏览器开发者模式)和Nginx日志分析,发现请求状态变成了405,故百度解释如下:问题原因: 请求的方式(get、post、delete)方法与后台规定的方式不符合。比如: 后台方...

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

一、简介对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。nginx两个限流模块:连接频率限制,ngx_http_lim...

为什么服务器管理用户都使用宝塔面板?

宝塔面板宝塔面板到底是个什么鬼?为什么这么多站长使用宝塔面板?宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。有30个人的专业团队研发及维护,经过200多个版本的迭代,功能全,少出错且足够安全,已获得...

在SpringBoot+Vue3项目中通过Nginx代理WebSocket实现跨域通信

引言在现代Web开发中,实时数据交互变得越来越重要,而WebSocket作为HTML5标准的一部分,提供了一种全双工、长连接的通信方式,使得服务器与客户端可以进行双向实时通信。但在实际应用中,由于浏览器同源策略的限制,前端应用直接访问后端WebSocket服务可能会受到阻碍,尤其是在前后端部署不在同...

nginx实现TCP转发

需要在服务器上实现个TCP服务器, 由于已安装了nginx, 所以在nginx中给TCP开个口子。(当然, 在nginx中转发TCP端口 并不是必要操作, 只要程序上实现了TCP server, nginx中搞不搞都可以. 用nginx是为了后续方便管理.)stream模块网上文章的说法都是, 1....