1.准备工作
创建nginx系统用户
每个服务创建单独的用户,方便管理
useradd -s -M -r /sbin/nologin nginx
系统用户不用给家目录,让它在后台跑nginx服务的进程就可,不用像普通用户一样去登录
安装依赖环境和包组
依赖包
使用yum安装的话是自动安装,要是二进制或编译安装的话就需要自己手动安装依赖包
yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
包组
里面有make这些编译安装的工具
yum -y groups mark install 'Development Tools'
创建nginx的日志存放目录
一般默认在/var/log/下创建一个nginx目录,用来存放错误日志和正确访问日志
错误日志和正确访问日志不需要手动创建,第一次nginx服务启动后自动创建
#创建目录
mkdir -p /var/log/nginx
#改属主属组
chown -R nginx.nginx /var/log/nginx
因为这个目录里面的日志文件需要nginx服务去写入,所以用nginx跑nginx服务的话,需要给这个目录相应的权限
下载
nginx: downloadhttps://nginx.org/en/download.html
点进去后有不同版本,一般不选最新的,因为刚开发出来,有可能有bug或者什么没测试出来的错误,所以一般选择第一个版本的
右键点击,然后复制链接,到终端里用wget下载,没有wget用curl也可以
#下载安装包一般在这
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://nginx.org/download/nginx-1.20.2.tar.gz
然后解压到/usr/local目录下
-C 是指定解压到指定目录
[root@localhost src]# ls
debug kernels nginx-1.20.2.tar.gz
[root@localhost src]# tar xf nginx-1.20.2.tar.gz -C /usr/local
编译安装
解压后会看到一个带有版本号的目录在/usr/local下,直接进去编译安装
这里是使用的它自带的configure脚本文件来进行编译,后面跟的模块具体参考Nginx中文文档https://www.nginx.cn/doc/
#编译
[root@localhost local]# ls
bin games lib libexec sbin src
etc include lib64 nginx-1.20.2 share
[root@localhost local]# cd nginx-1.20.2/
[root@localhost nginx-1.20.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log
#安装
[root@localhost nginx-1.20.2]# make && make install
这里使用make安装是两条命令一起的 ,用了&&进行隔开
&& 作用是,当上条命令执行完成后在执行下一条命令
提示:
这里使用configure进行编译时,有可能报错,如果报错信息里有后面跟着的模块名,那么在命令中删除这个模块即可,一般是版本太老不兼容这个模块,不过像1.20的一般没问题
安装后配置
配置环境变量
[root@localhost ~]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@localhost ~]# . /etc/profile.d/nginx.sh
查看
[root@localhost ~]# nginx
[root@localhost ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
修改nginx配置文件后,不能直接用restart重启
需要用 ngin -s stop 先停止服务,在 nginx 启动
-s 后面可以跟一个参数
修改玩配置文件后,可用nginx -t 来检测更改的内容语法是否正确