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 openssl
sudo 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 部署到指定的安装目录,包括相关目录的建立和二进制文件、配置文件的复制