Nginx安装部署

时间:2022-06-27 01:14:41

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
      • 注意:地址有可能会失效的,官方地址修改就失效了;
#我这里是直接使用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/

Nginx安装部署
还记得我们之前修改源码文件

  • 在windows的浏览器上–>按F12–>选择到网络–>然后按一个ctrl+r刷新

Nginx安装部署
到这里为止,Nginx的安装部署已经完成~!