关于Nginx

  这里只记录如何在CentOS上安装Nginx,关于Nginx简介与Ubuntu相关安装步骤可以参照 Nginx简介与Ubuntu通过安装包方式安装Nginx

1、yum指令直接安装

查看是否有yum源

yum -y list nginx*

image-20211201161047584

安装nginx

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum -y install nginx

image-20211201161413639

启动Nginx

  • 启动nginx

systemctl start nginx
		无错误提示则启动成功
  • 查看nginx进程

ps -ef | grep nginx

image-20211201161807488

  • 测试本地是否安装成功

curl 127.0.0.1:80
		控制台出现html文件源码

image-20211201161901661

查看nginx的安装目录

  • 查看nginx的安装路径

rpm -ql nginx

image-20211201162630417

  • 查看nginx的配置文件路径

rpm -ql nginx | grep nginx.conf

image-20211201162704762

修改nginx配置文件

vim /etc/nginx/nginx.conf

image-20211201163303365

重启nginx(重新加载配置)

nginx -s reload

  无错误提示表示重启成功

image-20211201163351183

浏览器访问

image-20211201163835434

相关命令

  • 启动nginx
nginx
  • 查看nginx版本
nginx -v
  • 检查配置文件是否正确
nginx -t
  • 重启nginx
nginx -s reload
  • 停止nginx
nginx -s stop
  • 启动nginx
systemctl start nginx
  • 查看nginx的状态
systemctl status nginx
  • 关闭nginx服务
systemctl stop nginx
  • 设置开机自启
systemctl enable nginx

卸载

  1. 停止Nginx
nginx -s stop
  1. 删除Nginx的自动启动
chkconfig nginx off
  1. 从源头删除Nginx
rm -rf /usr/sbin/nginx
rm -rf /etc/nginx
rm -rf /etc/init.d/nginx
  1. 最后使用yum清理
yum remove nginx

2、安装包方式安装

下载安装包

  可以选择去 官网下载安装包 ,也可以直接使用 wget 下载

  1. 官网安装稳定版本

image-20211201170617676

  下载之后直接上传到服务器即可,我这里选择服务器路径为:/usr/local/src/other/nginx

image-20211201170903744

  1. 使用 wget 下载

    • 安装wget(有就不需要了)
yum -y insatll wget
  • 下载nginx
wget https://nginx.org/download/nginx-1.20.2.tar.gz

解压安装包

tar -zvxf nginx-1.20.2.tar.gz 

image-20211201172749754

安装相关依赖

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
  • yum install gcc-c++ 安装C++编译环境

  • yum install pcre pcre-devel 正则表达式库

  • yum install zlib zlib-devel 数据压缩

  • yum install openssl openssl-devel 密码库

image-20211201172830782

编译

  1. 进入解压的nginx目录执行 **./configure **

  不然等会make会报错:make: *** No targets specified and no makefile found. Stop.

image-20211201173006123

  注意:这里是可以通过./configure指定安装路径的,如果不指定,则默认安装在 /usr/local/nginx/

  下面分别展示两种情况:

  • 不指定,使用默认路径
./configure

image-20211201180659636

  可以看到这里指定的默认路径为/usr/local/nginx/,相关日志文件也生成在该路径下

  • 手动指定安装路径(这里其实是指定路径前缀),但是不能指定nginx安装包的路径(./configure所在的路径),否则会报错
./configure --prefix=/usr/local/src/other/nginx

image-20211201181027992

configure配置完毕后开始编译

  1. 执行 makemake install 进行编译
make

image-20211201173700971

make install

image-20211201173741956

  到这里如果没出现错误提示就安装成功了,如果有问题请检查第一步依赖是否安装成,默认会被安装在 /usr/local/nginx 路径下,我这里选择自定义安装路径/usr/local/src/other/nginx

  安装之后的文件结构(安装包可以选择删除,也可以保留,不影响使用):

image-20211201181510372

  查看版本

/usr/local/src/other/nginx/sbin/nginx -v

image-20211201174021007

启动

/usr/local/src/other/nginx/sbin/nginx

image-20211201175612809

  没有报错则表示启动成功

  浏览器访问

image-20211201175645871

相关命令

  • 启动nginx
./nginx 
  • 检查nginx配置文件是不是配置正确
./nginx -t 
  • 重启nginx(重新加载配置文件)
./nginx -s reload
  • 停止nginx
./nginx -s stop
  • 查看nginx版本
./nginx -v

卸载

  编译安装的nginx卸载非常方便,直接将nginx的安装目录/usr/local/src/other/nginx/删除即可,同时可以把nginx使用的日志目录和临时目录一并删除。
删除编译安装的nginx:

rm -rf /usr/local/nginx
rm -rf /var/log/nginx #这两个可能没有,因为日志和临时文件可能默认指定在/usr/local/src/other/nginx/下面
rm -rf /var/temp/nginx #这两个可能没有,因为日志和临时文件可能默认指定在/usr/local/src/other/nginx/下面

设置开机自启

方法一:使用 Systemd

  1. 创建服务单元文件

sudo vi /etc/systemd/system/nginx.service
  1. 编辑配置文件

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target

[Service]
Type=forking
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  1. 启动 nginx 服务

sudo systemctl enable nginx.service
  1. 重启系统尝试一下

reboot

方法二:使用 rc.local

  1. 编辑rc.local

sudo vi  /etc/rc.d/rc.local
  1. 添加命令

在文件中添加以下行,这将在系统启动时执行启动 NGINX 的命令:

/usr/sbin/nginx

保存并关闭文件。

  1. 为 `rc.local· 添加可执行权限

sudo chmod +x /etc/rc.d/rc.local

确保 rc.local 文件的所有者和组都是 root:

sudo chown root:root /etc/rc.d/rc.local