基于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