nginx启动成功(nginx启动成功但是无法访问)
nginx启动成功但是无法访问
如果nginx配置不对,就会造成部分文件,在浏览器中不是直接预览,而是进行了下载。修改的方法是修改配置文件。具体解决方法如下。
配置文件 nginx.conf
http {
include mime.types;
default_type application/octet-stream;
这里主要有两行代码。
第一行: include mine.types 对应了文件的mime类型。
第二行: 默认的是octet-stream, 意思是如果一个文件的mime类型不存在就会使用默认的类型。 通常是这个导致了文件的下载。
解决方法:
将 default_type application/octet-stream; 修改为default_type text/html; 这样就默认表示一个文件是 html文件, 就可以在浏览器中查看。
修改后可能出现的问题
上面的方面可以解决文件不在浏览器中预览的情况,但是如果有文件的扩展名对应mime信息找不到,也会进行预览, 不管文件是不是文本文件,都是当成是文本文件。
nginx 默认的 mime 类型
文件mime.types
nginx启动后无法访问
第一种:Nginx自己的错误页面
Nginx访问一个静态的html 页面,当这个页面没有的时候,Nginx抛出404,那么如何返回给客户端404呢?
看下面的配置,这种情况下不需要修改任何参数,就能实现这个功能。
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
}
# 定义错误页面码,如果出现相应的错误页面码,转发到那里。
error_page 404 403 500 502 503 504 /404.html;
# 承接上面的location。
location = /404.html {
# 放错误页面的目录路径。
root /usr/share/nginx/html;
}
}
第二种:反向代理的错误页面
如果后台Tomcat处理报错抛出404,想把这个状态叫Nginx反馈给客户端或者重定向到某个连接,配置如下:
upstream www {
server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s;
ip_hash;
}
server {
listen 80;
server_name www.test.com;
root /var/www/test;
index index.html index.htm;
location / {
if ($request_uri ~* ‘^/$’) {
rewrite .* http://www.test.com/index.html redirect;
}
# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面
proxy_intercept_errors on;
proxy_pass http://www;
proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
}
第三种:Nginx解析php代码的错误页面
如果后端是php解析的,需要加一个变量
在http段中加一个变量
fastcgi_intercept_errors on就可以了。
指定一个错误页面:
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
指定一个url地址:
error_page 404 /404.html;
error_page 404 = http://www.test.com/error.html;
nginx启动无反应
1、Nginx基本工作原理
NGINX以高性能的负载均衡器,缓存,和web服务器闻名。Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,当它接到一个HTTP请求时,仅仅通过查找配置文件将客户端请求映射到一个location block(location是Nginx配置中的一个指令,用于URL匹配),而在这个location中所配置的每个指令将会启动不同的模块去完成相应的工作。
因此模块可以看做Nginx真正的劳动工作者。通常一个location中的指令会涉及一个handler模块和多个filter模块(当然,多个location可以复用同一个模块)。handler模块负责处理请求,完成响应内容的生成,而filter模块对响应内容进行处理。
Nginx的模块直接被编译进Nginx,因此属于静态编译方式。启动Nginx后,Nginx的模块被自动加载,不像Apache,首先将模块编译为一个so文件,然后在配置文件中指定是否进行加载。在解析配置文件时,Nginx的每个模块都有可能去处理某个请求,但是同一个处理请求只能由一个模块来完成。
nginx启动成功但是无法访问网络
可以通过以下步骤实现nginx服务器的公网访问。可以通过端口映射实现nginx服务器的公网访问。nginx服务器默认监听80端口,而默认情况下公网不允许直接访问内网,因此需要进行端口映射。通过将公网地址的某一个端口映射到nginx服务器的80端口,可以实现公网访问nginx服务器的功能。具体实现方式需要根据网络环境和配置进行调整,一般可以通过路由器或防火墙的端口映射功能实现。需要注意的是,开放公网访问时需要加强服务器安全性配置,以避免黑客攻击等安全问题。
nginx启动成功但是无法访问服务器
访问nginx服务界面的不显示解决方法如下:
1.
打开终端,连接至服务器
2.
当你配置完毕之后,发现网页无法正常显示页面。先查看80端口起来没。
3.
关闭selinux。进入etc目录下,找到selinux。
4.
打开config配置文件。将selinux的值设置为disabled。
5/6
关闭防火墙。
6/6
检查语法与重新启动。在nginx的配置过程中,无论更改了什么东西,都必须重新启动。检查语法不是强制性的,但是也是建议的。如果哪一点有错误,检查语法的命令会返回出具体的位置,有利于排错。
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.