Nginx
在Ubuntu18中使用Nginx
准备Nginx所需的库
GCC编译器
Nginx不直接提供二进制可执行程序
PCRE库
sudo apt-get install libpcre3-dev安装完成后用
pcre-config --version查看是否安装成功
zlib库
zlib库主要用于对HTTP包的内容进行压缩,进而减少网络传输量sudo apt install zlib1g
zlib是直接使用的库,zlib-devel是二次开发所需要的库sudo apt install zlib1g-dev
OpenSSL开发库
通过OpenSSL库,可以使用SSL协议传输HTTP,另外,使用MD5、SHA1等散列函数也需要该库
在Ubuntu系统中,
openssl-devel库需要分开来安装sudo apt-get install opensslsudo apt-get install libssl-dev
在centos 7 中使用Nginx
安装所需要的库
gcc 和 g++
yum installl -y gcc
yum install -y gcc-c++
pcre
yum install -y pcre pcre-devel
zlib
yum install -y zlib zlib-devel
openssl
yum install -y openssl openssl-devel
让centos7实现联网
默认情况下是不联网,而我们通常需要赋予静态IP让虚拟机联网
centos 系统默认没有ifconfig命令,需要先下载yum install -y net-tools.x86_64或者使用ip addr命令,关注ens33
修改ens33的配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
将
BOOTPROTO由原来的dhcp改为static,表明使用静态IP地址,将ONBOOT由原来的no改为yes,启动网络连接,再给出IP地址、子网掩码、网关和DNS服务器。以上DNS服务器是免费的重启网络服务
systemctl restart network输入
ip addr命令可以看到网络配置完成,可以通过ping www.baidu.com进行测试,完成联网
编译Nginx源码
上一步中联网的目的是获取虚拟机的IP地址,通过xshell以及xftp连接进行Nginx源码的传输
准备好以下的目录
- Nginx源码的存放目录,存放Nginx源码文件,非官方的模块源代码文件
- 编译阶段产生的中间文件存放目录,默认情况下编译过程中自动生成objs目录,存放在源码目录下
- 部署目录,存放实际Nginx运行所需要的二进制文件、配置文件,默认情况下为
/usr/local/nginx - 日志文件存放目录
默认情况下,linux内核参数考虑最通用的场景,不符合用于高并发访问的web服务器的定义,所以通过修改内核参数,使得Nginx拥有更高性能
修改/etc/sysctl.conf来更改内核参数
1 | |
然后执行sysctl -p命令,使上述修改生效
1 | |
进入到Nginx源码目录,执行以下3行命令:
./configure——检测操作系统内核和已经安装的软件,参数的解析,中间目录的生成以及根据各种参数生成一些 C 源码文件、Makefile 文件等
make——根据 configure 命令生成的 Makefile 文件编译Nginx 工程,并生成目标文件最终的二进制文件
make install——根据configure 执行时的参数将Nginx 部署到指定的安装目录,包括相关目录的建立和二进制文件、配置文件的复制