Nginx安装部署
nginx的安装与部署都需要一些模块的支持;因此需要提前安装一下Nginx的依赖模块
- pcre/pcre-devel:这个依赖用于支持nginx的rewrite模块
- pcre-config –version
- gcc/gcc-c++:这个依赖主要用于源码编译
- gcc -v:可以查看版本
- zlib/zlib-devel:用于压缩
- cat /usr/lib64/pkgconfig/zlib.pc:查看信息
- openssl/openssl-devel:主要用于加密
首先安装必要的依赖:
- 这里需要注明一下:pcre库可以支持rewrite功能
- gcc是编译器
- openssl是加密相关
#提前配置好yum源-->我这里使用的就是aliyun的yum源
[root@Test0 ~]# yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
第二步骤:准备好nginx-1.16版本的nginx源码包
- 官方链接:http://nginx.org/download/nginx-1.16.1.tar.gz
- 可以直接使用wget + 网址下载到本地服务器
- 地址是:http://nginx.org/download/nginx-0.1.6.tar.gz
- 注意:地址有可能会失效的,官方地址修改就失效了;
- 地址是:http://nginx.org/download/nginx-0.1.6.tar.gz
#我这里是直接使用rz准备的nginx源码包
[root@Test0 ~]# cd /usr/local/src/
[root@Test0 src]# ls
[root@Test0 src]# pwd
/usr/local/src
[root@Test0 src]# rz
#这里是windows的操作-->选择自己的文件即可
[root@Test0 src]# ls
nginx-1.16.1.tar.gz
#然后在解压nginx的源码包
#-->这里是指定了解压的路径
#-->然后进入到路径目录-->进行源码编译
[root@Test0 src]# tar -xf nginx-1.16.1.tar.gz
[root@Test0 src]# cd nginx-1.16.1
[root@Test0 nginx-1.16.1]#
#一般在网络上是不会暴露自己的nginx版本;因此我们可以直接在源码文件当中直接隐藏nginx的版本号
#-->这里后面搭建起来了访问的时候就能够看到
[root@Test0 nginx-1.16.1]# vim src/core/nginx.h
.........................
12 #define nginx_version 1016001
13 #define NGINX_VERSION "nginx" #把1.16.1改为自己喜欢的
14 #define NGINX_VER "LJW/" NGINX_VERSION #把原来的nginx改为LJW
...............
第三步:源码编译安装nginx
- 这一步是通常指定了一些nginx的模块功能;
- 添加一下nginx的启动用户
- 然后预编译编译安装
#首先可以预先添加一下nginx的用户
#-r:指定的是系统用户
#-s:指定不能登录的shell--> /sbin/nologin
#-M:不创建家目录
[root@Test0 nginx-1.16.1]# useradd -r -s /sbin/nologin nginx -M
#改完之后直接预编译
#--prefix=:指定源码安装的目录位置
#--user=nginx:指定了启动服务的用户
#--group=nginx:指定了用户组
#--with-http_stub_status_module:指定了nginx的状态模块
#--with-http_ssl_module:开放加密的模块-->日后制作https做准备
[root@Test0 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx/ --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module
#编译、安装
#make -->通过gcc编译成我们需要的二进制文件
#make install-->把编译的东西都按照预设定的内容移动
[root@Test0 nginx-1.16.1]# make && make install
[root@Test0 nginx-1.16.1]# echo $?
0
#到这里为止,其实已经安装完毕
最后就是校验了
- 启动nginx
- 检查端口是否开启–>这里默认的就是80端口
- 检查之前我们源码编译的抬头
- 上面准备源码包的时候,我们直接修改了源码文件;
- 因此安装好的时候显示出来的就是我们修改过的
- 注意自己的防火墙和selinux是否有关闭
- 防火墙暂时不接触,因此所有试验都最好关闭,
- 以免影响试验效果
#在启动nginx之前,我们首先做一个软连接
#这个步骤是方便我们使用命令
#因为源码包安装,命令不会自动添加到PATH路径
[root@Test0 nginx-1.16.1]# cd
[root@Test0 ~]# ln -s /usr/local/nginx/sbin/nginx /bin/
#启动前可以自己检查一下配置文件是否有问题
#这个是常用命令-->每一次修改配置文件最好都使用一下
#防止修改错了导致nginx启动不来
[root@Test0 ~]# nginx -t
nginx: the configuration file /usr/local/nginx//conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx//conf/nginx.conf test is successful
#nginx的启动命令查看帮助
[root@Test0 ~]# nginx -h
nginx version: LJW/nginx #这里就是我们之前修改过的源码显示出来了
............
#启动nginx
[root@Test0 ~]# nginx
[root@Test0 ~]# ps -ef | grep nginx
root 9494 1 0 17:49 ? 00:00:00 nginx: master process nginx
- 到这里为止,nginx已经启动成功了
- 浏览器直接访问:http://192.168.75.30/
还记得我们之前修改源码文件
- 在windows的浏览器上–>按F12–>选择到网络–>然后按一个ctrl+r刷新
到这里为止,Nginx的安装部署已经完成~!