基于Linux的Nginx安装

简介: 基于Linux的Nginx安装

基于Linux的Nginx安装

1、Nginx用户设置

1.1 创建新用户(注意权限问题:切换为root用户)

su root

1.2 添加新用户nginx,并设置相关信息(一直回车默认即可)

adduser nginx

1.3 退出当前用户,登录nginx用户(直接在Ubuntu中切换用户即可)

1.4 以管理员身份(root用户)执行visudo指令,来修改配置

su root
visudo

visudo打开的是/etc/sudoers文件,修改该文件,添加下面这一行:

nginx ALL=(ALL:ALL) ALL

CTRL + O(再按ENTER)保存,CTRL + X退出。

1.5 退出root用户

exit

2、准备服务器系统

2.1 确认Ubuntu的内核

准备一个内核为2.6及以上版本的操作系统,因为Linux2.6及以上才支持epoll,而Nginx需要解决高并发压力问题需要用到epoll,所以我们需要有这样的版本要求。

我们可以使用uname -a命令来查询Linux的内核版本:

uname -a

2.2 确保Ubuntu能联网

ping www.baidu.com

2.3 确认关闭防火墙

将防火墙关掉,可以省掉后面Nginx学习过程中的诸多问题。

查看防火墙状态:

systemctl status firewalld

关闭防火墙(暂时,系统重启后,防火墙将重新打开)

systemctl stop firewalld

重启防火墙

systemctl restart firewalld

关闭防火墙(永久,系统重启后,防火墙依然关闭)

systemctl disable firewalld

2.4 确认停用selinux

selinux(security-enhanced linux),美国安全局对于强制访问控制的实现,在Linux 2.6内核以后的版本中,selinux已经成功成为内核的一部分。可以说,selinux是Linux史上最杰出的新安全子系统之一。

虽然有了selinux,我们的系统会更安全,但是对于学习Nginx会多很多设置,所以建议关闭。

借助以下指令查看selinux状态:

sestatus

如果查看不是disabled状态,可以通过修改配置文件来进行设置,修改SELINUX=disable,重启系统即可生效:

sudo vi /etc/selinux/config

3、Nginx安装

Nginx的安装方式有两种分别是:

通过Nginx源码
    通过Nginx源码简单安装(1)
    通过Nginx源码复杂安装(3)
通过yum安装(2)Ubuntu apt-get即可

如果通过Nginx源码安装需要提前准备的内容:

3.1 gcc编译器

Nginx是使用C语言编写的程序,因此想要运行Nginx就需要安装一个编译工具。gcc就是一个开源的编译器集合,用于处理各种各样的语言,其中就包含了C语言。

gcc安装:

sudo apt-get install gcc

查看是否安装成功:

gcc --version

3.2 pcre

Nginx在编译过程中需要使用到pcre库(Perl Compatible Regular Expression 兼容正则表达式库),因为在Nginx的Rewrite模块和http核心模块都会使用到pcre正则表达式语法。

pcre安装:

sudo apt-get install libpcre3 libpcre3-dev

查看是否安装成功:

pcre-config --version

3.3 zlib

zlib库提供了开发人员的压缩算法,在Nginx的各个模块中需要使用gzip压缩,所以我们也需要提前安装其库及源代码zlib和zlib-devel。

zlib安装:

sudo apt-get install zlib1g zlib1g-dev

3.4 OpenSSL

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包进行安全通信,并且避免被窃听。

SSL:Secure Sockets Layer安全套接协议的缩写,可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性。在Nginx中,如果服务器需要提供安全网页时,就需要用到OpenSSL库,所以我们需要对OpenSSL的库文件及它的开发安装包进行一个安装。

OpenSSL安装:

sudo apt-get install openssl libssl-dev

4、Nginx源码简单安装

Nginx官方网站:http://nginx.org/en/download.html

4.1 使用wget命令下载

wget http://nginx.org/download/nginx-1.22.0.tar.gz

4.2 对资源进行包管理

mkdir -p nginx/core
mv nginx-1.22.0.tar.gz nginx/core

4.3 解压缩

cd nginx/core
tar -xzf nginx-1.22.0.tar.gz
mv nginx-1.22.0 nginx # 改名

4.4 进入资源文件,发现configure

cd nginx
./configure

4.5 编译 && 安装

make && make install

没有权限可以加sudo

4.6 启动Nginx

cd sbin
./nginx

会报错,参考博客:Nginx启动报错:could not open error log file: open() “/usr/local/nginx/logs/error.log” failed

4.7 切换root用户

su root

4.8 浏览器查看

在浏览器中输入IP地址:http://192.168.0.163(每个人的不一样)

4.9 退出nginx

./nginx -s stop


相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1月前
|
Linux
手把手教会你安装Linux系统
手把手教会你安装Linux系统
|
1月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
704 67
|
28天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
103 5
Linux系统之安装OneNav个人书签管理器
|
30天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
52 5
Linux系统之安装Ward服务器监控工具
|
12天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
1月前
|
JSON JavaScript Linux
Linux系统之安装cook菜谱工具
【10月更文挑战第15天】Linux系统之安装cook菜谱工具
38 2
Linux系统之安装cook菜谱工具
|
1月前
|
Ubuntu Linux 测试技术
Linux系统之Ubuntu安装cockpit管理工具
【10月更文挑战第13天】Linux系统之Ubuntu安装cockpit管理工具
130 4
Linux系统之Ubuntu安装cockpit管理工具
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
83 1
Linux系统之Centos7安装cockpit图形管理界面
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
154 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
1月前
|
存储 Oracle 关系型数据库

热门文章

最新文章

下一篇
无影云桌面