文章目录

  • 一、 添加 Nginx yum资源库——CentOS 7
  • 二、 安装nginx - yum安装
  • 三、 启动nginx
  • 无法访问解决办法
  • 四、 修改nginx页面展示内容
  • 通过新建文件
  • 通过修改原始文件
  • 五、 Nginx 不支持中文怎么办?
  • 1. 利用convmv对文件名转码
  • 2. 通过修改nginx配置文件转码


一、 添加 Nginx yum资源库——CentOS 7

[root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

nginx 部署后无法访问后端 nginx安装后无法访问_html

二、 安装nginx - yum安装

[root@localhost ~]# yum -y install nginx

等待一段时间会展示如下:

nginx 部署后无法访问后端 nginx安装后无法访问_运维_02

三、 启动nginx

[root@localhost ~]# systemctl start nginx

执行后没反应,在浏览器中可以访问,即为安装成功。

地址为你的IP

nginx 部署后无法访问后端 nginx安装后无法访问_centos_03

无法访问解决办法

如果无法访问,解决方案如下:

  1. 检查nginx 是否启动成功
  • 检查nginx配置文件
[root@localhost ~]# nginx -t

如下图,则说明配置文件语法没问题。

nginx 部署后无法访问后端 nginx安装后无法访问_centos_04

  • 重新启动,每次修改配置文件都要重新启动
[root@localhost ~]# nginx -s reload
  • 如果执行出现错误:nginx: [error] invalid PID number “” in “/var/run/nginx.pid”,如下图。

    执行以下命令即可:
nginx -c /etc/nginx/nginx.conf
nginx -s reload
  • 查看是否有nginx进程
[root@localhost ~]# ps -ef | grep nginx

如下图,有三个进程,说明启动成功

nginx 部署后无法访问后端 nginx安装后无法访问_centos_05

  1. 查看防火墙是否关闭
  • centos7 查看状态
systemctl status firewalld 或者 firewall-cmd --state

下图这种状态是正在运行,没有关闭。

nginx 部署后无法访问后端 nginx安装后无法访问_html_06


现在关闭防火墙后查看状态:

[root@localhost ~]# systemctl stop firewalld

如下图,显示dead,防火墙已关闭

nginx 部署后无法访问后端 nginx安装后无法访问_运维_07


这个时候,可以刷新一下浏览器,大概率是可以正常展示的

nginx 部署后无法访问后端 nginx安装后无法访问_html_08

关于防火墙的命令:
停止并禁用开机启动

systemctl disable firewalld

关闭防火墙

systemctl stop firewalld

启动防火墙

systemctl start firewalld

设置开机启动

systemctl enable firewalld

重启防火墙

firewall-cmd --reload

四、 修改nginx页面展示内容

有两种方式:

  1. 通过新建html文件,修改页面展示内容,访问时需加上新建的目录,如:http://39.107.140.17/submodel.html;
  2. 找到上图中展示的文件,修改里边内容,就可以直接通关过IP 访问到你编辑的内容,http://39.107.140.17。

下面我们一一来看:

通过新建文件
  1. /usr/share/nginx/html目录下新建一个文件:submodule.html,写入内容:hello world.
[root@localhost ~]# cd /usr/share/nginx/html/

[root@localhost ~]# vi submodel.html

输入内容:hello world.
保存退出

nginx 部署后无法访问后端 nginx安装后无法访问_nginx 部署后无法访问后端_09

  1. 在地址栏输入:http://39.107.140.17/submodel.html
    即使用IP加上刚才编辑的文件名,才会出现刚才输入的内容。
通过修改原始文件

原始文件为“index.html”

[root@localhost ~]# cd /usr/share/nginx/html/

[root@localhost html]# vi index.html

修改前原文件:

nginx 部署后无法访问后端 nginx安装后无法访问_nginx 部署后无法访问后端_10


修改后:

nginx 部署后无法访问后端 nginx安装后无法访问_nginx 部署后无法访问后端_11


只用IP访问,便看到内容

nginx 部署后无法访问后端 nginx安装后无法访问_centos_12

五、 Nginx 不支持中文怎么办?

如果你在执行编辑内容时,文本中包含了中文,会发现nginx上的内容出现乱码,如下图所示:

nginx 部署后无法访问后端 nginx安装后无法访问_运维_13


nginx 部署后无法访问后端 nginx安装后无法访问_nginx 部署后无法访问后端_14


nginx 本身默认不支持中文,需要转码。

解决办法:

1. 利用convmv对文件名转码

很多人尝试过此方法,我们也试一下:

  • 安装convmv
[root@localhost html]# yum -y install convmv

nginx 部署后无法访问后端 nginx安装后无法访问_运维_15

  • 转码
[root@localhost html]#  convmv -fGBK -tUTF8 -r --notest target

其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名,target是目标目录。

nginx 部署后无法访问后端 nginx安装后无法访问_运维_16


查看当前目录命令:pwd

按照这个做完,会发现,仍然展示的是乱码。似乎并不好使。那我们就换一种方式。


2. 通过修改nginx配置文件转码
  • 查看当前系统使用语言
[root@localhost html]# echo $LANG

nginx 部署后无法访问后端 nginx安装后无法访问_html_17

查看系统支持所有语言命令:

locale :查看当前系统的语言类型
lcoale -a : 查看 当前系统所支持的所有语言类型

[root@localhost html]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
  • 修改语言类型

这种方式可以永久修改语言类型:

  1. 检查系统语言类型,修改系统默认语言类型为“utf-8”
    一般情况下,路径配置文件都在/ect/sysconfig/i18n。

    如果没有找个文件,也很正常,这跟“Linux正常启动的时候加载的环境变量文件”有关。可以到如下路径:
    Centos 系统 : /etc/locale.conf

为什么可以到上便路径找呢?
我们可以 cat /etc/profile.d/lang.sh ,能看到有以下几行代码:
上面有个路径 “/etc/locale.conf” 这个就是相当于 “/etc/sysconfig/i18n”

nginx 部署后无法访问后端 nginx安装后无法访问_centos_18

  1. 打开/etc/locale.conf,修改LANG
    LANG=“zh_CN.UTF-8”
    我这里已经默认是"zh_CN.UTF-8"
  2. 重启系统
    init 6

浏览器上如果还是不显示中文,需要修改nginx配置文件

  1. 修改nginx配置文件,默认为“utf-8”

(1)找到nginx配置文件

[root@localhost ~]# find / -name nginx.conf

nginx 部署后无法访问后端 nginx安装后无法访问_nginx 部署后无法访问后端_19


(2)修改配置文件

[root@localhost ~]# vi /etc/nginx/nginx.conf

nginx 部署后无法访问后端 nginx安装后无法访问_centos_20


进入下面这个配置文件,修改内容

[root@localhost ~]# vi /etc/nginx/conf.d/default.conf

nginx 部署后无法访问后端 nginx安装后无法访问_运维_21


nginx 部署后无法访问后端 nginx安装后无法访问_centos_22


(3)重载服务

nginx -s reload

清空浏览器缓存后即可显示中文。

nginx 部署后无法访问后端 nginx安装后无法访问_运维_23