文章目录
- 一、 添加 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 - yum安装
[root@localhost ~]# yum -y install nginx
等待一段时间会展示如下:
三、 启动nginx
[root@localhost ~]# systemctl start nginx
执行后没反应,在浏览器中可以访问,即为安装成功。
地址为你的IP
无法访问解决办法
如果无法访问,解决方案如下:
- 检查nginx 是否启动成功
- 检查nginx配置文件
[root@localhost ~]# nginx -t
如下图,则说明配置文件语法没问题。
- 重新启动,每次修改配置文件都要重新启动
[root@localhost ~]# nginx -s reload
- 查看是否有nginx进程
[root@localhost ~]# ps -ef | grep nginx
如下图,有三个进程,说明启动成功
- 查看防火墙是否关闭
- centos7 查看状态
systemctl status firewalld 或者 firewall-cmd --state
下图这种状态是正在运行,没有关闭。
现在关闭防火墙后查看状态:
[root@localhost ~]# systemctl stop firewalld
如下图,显示dead,防火墙已关闭
这个时候,可以刷新一下浏览器,大概率是可以正常展示的
关于防火墙的命令:
停止并禁用开机启动
systemctl disable firewalld
关闭防火墙
systemctl stop firewalld
启动防火墙
systemctl start firewalld
设置开机启动
systemctl enable firewalld
重启防火墙
firewall-cmd --reload
四、 修改nginx页面展示内容
有两种方式:
- 通过新建html文件,修改页面展示内容,访问时需加上新建的目录,如:http://39.107.140.17/submodel.html;
- 找到上图中展示的文件,修改里边内容,就可以直接通关过IP 访问到你编辑的内容,http://39.107.140.17。
下面我们一一来看:
通过新建文件
- 在 /usr/share/nginx/html目录下新建一个文件:submodule.html,写入内容:hello world.
[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost ~]# vi submodel.html
输入内容:hello world.
保存退出
- 在地址栏输入:http://39.107.140.17/submodel.html
即使用IP加上刚才编辑的文件名,才会出现刚才输入的内容。
通过修改原始文件
原始文件为“index.html”
[root@localhost ~]# cd /usr/share/nginx/html/
[root@localhost html]# vi index.html
修改前原文件:
修改后:
只用IP访问,便看到内容
五、 Nginx 不支持中文怎么办?
如果你在执行编辑内容时,文本中包含了中文,会发现nginx上的内容出现乱码,如下图所示:
nginx 本身默认不支持中文,需要转码。
解决办法:
1. 利用convmv对文件名转码
很多人尝试过此方法,我们也试一下:
- 安装convmv
[root@localhost html]# yum -y install convmv
- 转码
[root@localhost html]# convmv -fGBK -tUTF8 -r --notest target
其中-f是源编码,-t是目标编码,-r是递归处理目录,–notest是不移动,实际上对文件进行改名,target是目标目录。
查看当前目录命令:pwd
按照这个做完,会发现,仍然展示的是乱码。似乎并不好使。那我们就换一种方式。
2. 通过修改nginx配置文件转码
- 查看当前系统使用语言
[root@localhost html]# echo $LANG
查看系统支持所有语言命令:
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=
- 修改语言类型
这种方式可以永久修改语言类型:
- 检查系统语言类型,修改系统默认语言类型为“utf-8”
一般情况下,路径配置文件都在/ect/sysconfig/i18n。
如果没有找个文件,也很正常,这跟“Linux正常启动的时候加载的环境变量文件”有关。可以到如下路径:
Centos 系统 : /etc/locale.conf
为什么可以到上便路径找呢?
我们可以 cat /etc/profile.d/lang.sh ,能看到有以下几行代码:
上面有个路径 “/etc/locale.conf” 这个就是相当于 “/etc/sysconfig/i18n”
- 打开/etc/locale.conf,修改LANG
LANG=“zh_CN.UTF-8”
我这里已经默认是"zh_CN.UTF-8"
- 重启系统
init 6
浏览器上如果还是不显示中文,需要修改nginx配置文件
- 修改nginx配置文件,默认为“utf-8”
(1)找到nginx配置文件
[root@localhost ~]# find / -name nginx.conf
(2)修改配置文件
[root@localhost ~]# vi /etc/nginx/nginx.conf
进入下面这个配置文件,修改内容
[root@localhost ~]# vi /etc/nginx/conf.d/default.conf
(3)重载服务
nginx -s reload
清空浏览器缓存后即可显示中文。