任务二、centos7下编译Nginx
源码编译Nginx
一、关于Nginx
(engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
二、编译过程
-
导入Nginx的源码包一共有两种方法
比如说我在/usr/java/Nginx文件夹里面使用命令:
wget http://nginx.org/download/nginx-1.19.0.tar.gz
则会将对应的.tar.gz包直接下载到当前文件夹中,不过使用这个命令的前提是虚拟机能联网,当然使用xftp将在(http://nginx.org/download/nginx-1.19.0.tar.gz)下载好.tar.gz包导入到虚拟机中同时也需要虚拟机联网。
-
解压Nginx源码包
tar -xzvf nginx-1.19.0.tar.gz
这里要注意以下,此时解压出来的文件夹下是没有sbin目录的,我在这里出现了一个问题,在后面进行说明
-
配置
./configure --prefix=/usr/java/Nginx/nginxPrefix/
这里要注意一个问题,后面的prefix是指定存放的路径,也就是说这里一定要指定在你的Nginx的安装根目录下设置一个目录存放配置后的文件,之前我多次操作时采用无参配置的时候发现没有配置出来的sbin目录,整个过程无报错,但是却在最后无法启动,重新安装了很多次才发现是这里的问题,这里一定要注意了。
出现这个则说明配置成功!之前有过配置openJDK的经验,这里大多数需要的依赖包都已经配置好了,如果缺少依赖包还是跟着报错提示继续添加依赖包即可 -
编译
make
make install
这时在你的编译目录下就会出现了相应的sbin包
-
启动Nginx
在nginxPrefix目录下
cd sbin
输入命令
./nginx
如果没有报错那么你的Ngin已经成功的开启了,这个过程非常快,可能前后下载加编译只需要10分钟即可
这里的话如果担心没有成功的开启
那么输入命令
ps -e | grep nginx
如果显示
则说明Nginx已经成功开启了!!
如果你是图形界面,那么打开虚拟机上的火狐浏览器
输入http://127.0.0.1/
显示:
此时你的Nginx就可以成功的开启了
-
将Nginx配置到环境变量中,就可以在任何场所都能访问到Nginx的命令
PATH=$PATH:/usr/java/Nginx/nginxPrefix/sbin
export PATH
验证一下,输入命令:
nginx -v
如果成功显示:
到此为止你的Nginx已经成功编译
**这里要注意的是:**不知道因为什么原因/etc/profile会出现一段时间更新生效,一段时间不生效的情况,在处理时如果发现nginx没有生效的话,那么再次输入命令
source /etc/profile
即可
三、常用操作
因为我们已经将环境变量配置好了,那么当我们在任何路径下都可以直接的通过nginx名调用命令,当然如果没有配置环境变量也不用慌,只要在nginx前跟上所在的路径即可
比如说:
启动nginx
-
环境变量已配好
nginx
-
环境变量未配好
/usr/java/Nginx/nginxPrefix/sbin/nginx
对应的其他命令也是相同的方法
检查配置文件
nginx -t
优雅的停止,推出前完成已经接受的请求
nginx -s stop
强制停止
nginx -s quit
重启
nginx -s reload
四、搭建静态站点
1、在安装目录中创建一共目录作为存放静态页面的目录
比如说:我这里在安装目录下创建了一个website目录用于存放网页地址
2、导入静态页面的文件夹
3、修改安装目录下的nginxPrefix/conf/nginx.conf
只需要将root 的值改为存放index.html文件夹的路径即可
4、通过localhost:80(也可以通过在网页栏输入ip地址)则可直接访问
创作人:操作系统-王海澎