Nginx安装及相关问题解决—2022.12.10

本文涉及的产品
云防火墙,500元 1000GB
简介: Nginx安装及相关问题解决—2022.12.10

一、 添加 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

dd8fd1cee8a14bc6bb3d45e03334d192.png


二、 安装nginx - yum安装

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


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

61fae5696fde4154aafe44a592d02b96.png


三、 启动nginx


[root@localhost ~]# systemctl start nginx


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

地址为你的IP

834b278f464d49128f9efe407b7cc333.png

无法访问解决办法

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

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


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

4964d148c25a449ab638f682ec113c27.png

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

ec1052fa856148829139db33d1d63045.png

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

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

1410dbdccca54e1cacddcd75757c7e7d.png

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

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

587d71e02c9c4e6398e684772b160718.png

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

[root@localhost ~]# systemctl stop firewalld
• 1

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

73d7b5afe0ea474c9c5c3768c74f2165.png

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

a0366adf747f48208670499b4de8bd18.png

关于防火墙的命令:

停止并禁用开机启动

systemctl disable firewalld
• 1

关闭防火墙

systemctl stop firewalld


启动防火墙

systemctl start firewalld 
• 1

设置开机启动

systemctl enable firewalld

重启防火墙

firewall-cmd --reload
• 1


四、 修改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.
保存退出

473ce7c935aa4455bf68e86fc5fe667a.png

2、在地址栏输入:http://39.107.140.17/submodel.html

即使用IP加上刚才编辑的文件名,才会出现刚才输入的内容。

78cbf6fa045e4675bdf4007dc590a5b8.png

通过修改原始文件

原始文件为“index.html”

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


修改前原文件:

0a6a1a9cd7ad4e1eb8ce5276951f197c.png

修改后:

3351c3f375c044edb889d53b4f7f422f.png

只用IP访问,便看到内容

348c7de819e7496faabec501217a467f.png

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

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

41e5005c93bf4e189b7900cd974b7d1d.png

3761b91ead5745cfb2285264127b711c.png

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

解决办法:

1. 利用convmv对文件名转码

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

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

7271f8a34a234a9689107bfad391e6e6.png

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

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

c6100e66645b475d8c6c6fa7d8f6c076.png

查看当前目录命令:pwd

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


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

e6ea2a65d8714b3aab0b4f413fef2580.png

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

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。

6c5fafd1bf2f4631bbcb544771075521.png

  • 修改语言类型

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

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


为什么可以到上便路径找呢?

我们可以 cat /etc/profile.d/lang.sh ,能看到有以下几行代码:

上面有个路径 “/etc/locale.conf” 这个就是相当于 “/etc/sysconfig/i18n

42e0a564df6546e4919bc2b53a12353d.png


2、打开/etc/locale.conf,修改LANG

LANG=“zh_CN.UTF-8”

我这里已经默认是"zh_CN.UTF-8"

5b0f74dadc864c3f82922eac244fb0d4.png


  1. 重启系统
    init 6


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

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


(1)找到nginx配置文件

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


e95900f3a9234e46abaa47eb0627f3e7.png

(2)修改配置文件

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

78df825a0c644855b7b19c2590a09bc7.png

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

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

750b3b1d51654396b3598f0afad7ca3e.png

bd0d0d69dc694f81a3fd908e409b9d30.png

(3)重载服务

nginx -s reload
• 1

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

92a0d139d42e457e92df70302e0b230e.png

相关文章
|
1月前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
123 25
|
3月前
|
应用服务中间件 网络安全 nginx
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
1078 1
|
4月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
237 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
4月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
4月前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
4月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
365 0
Mac os 安装 nginx 教程(success)
|
4月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
4月前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
4月前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
4月前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx