Linux(CentOS)安装 Nginx

Linux(CentOS)安装 Nginx CentOS版本CentOS 7Nginx版本1.24.0两种安装方式一、通过 yum 安装最简单一键安装全程无忧。二、通过编译源码包安装需具备配置相关操作。最后附设置 Nginx 服务开机启动一、通过 yum 安装需要 root 权限普通用户使用 sudo 进行命令操作安装参考信息https://nginx.org/en/linux_packages.html#RHEL1、安装依赖sudo yum install yum-utils2、创建仓库文件在 /etc/yum.repos.d 目录下创建仓库文件nginx.repo并在文件中添加以下内容sudo vim /etc/yum.repos.d/nginx.repo[nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue [nginx-mainline] namenginx mainline repo baseurlhttp://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck1 enabled0 gpgkeyhttps://nginx.org/keys/nginx_signing.key module_hotfixestrue3、安装 Nginx默认情况下安装 Stable version当前稳定版本【sudo yum-config-manager --enable nginx-mainline 不会设置暂时不会安装指定版本】sudo yum install nginx查看 nginx 安装目录whereis nginx/usr/sbin 目录存放 nginx 启动程序/etc/nginx 目录存放 nginx 配置文件/usr/share/html 目录存放网站项目文件4、开放端口 80检查端口是否开放sudo firewall-cmd --zonepublic --query-port80/tcp开放端口sudo firewall-cmd --zonepublic --add-port80/tcp --permanent重新加载sudo firewall-cmd --reload再检查端口是否开放sudo firewall-cmd --zonepublic --query-port80/tcp5、启动 Nginxsudo nginx6、验证 Nginx在远程终端打开浏览器输入ip回车二、通过编译源码包安装需要 root 权限使用 root 用户进行命令操作编译源码包.tar.gz 或 .tar 包文件1、下载 Nginx在远程终端计算机上打开Nginx官网https://nginx.org/下载文件2、上传 Nginx 文件到 CentOS使用FinalShell远程登录工具并且使用 root 用户连接登录注意这里说的root用户连接登录是指这样的--------------------------------------------------------------------------------------------------------------------------------也可以使用 wget 命令直接下载到 CentOS前提需要安装好 wget获取下载地址https://nginx.org/download/nginx-1.26.2.tar.gzwget https://nginx.org/download/nginx-1.26.2.tar.gz--------------------------------------------------------------------------------------------------------------------------------3、解压 Nginx创建目录/export/servermkdir -p /export/server解压到目录/export/server.tar.gz 格式的为打包压缩使用 tar -zxvf解压后是一个与文件名同名的目录。.tar 格式的为打包不压缩使用 tar -xvf解压后是相关的文件不是目录。tar -zxvf nginx-1.24.0.tar.gz -C /export/server查看解压后情况ls -l /export/server4、安装编译环境和依赖安装 gcc-c 编译器因为 nginx 是使用C语言开发的所以需要安装相关的编译环境来对其进行编译安装yum -y install gcc-cyum install -y openssl openssl-devel安装 pcrePCRE(Perl Compatible Regular Expressions)是一个用C语言编写的正则表达式函数库nginx 对其有依赖yum install -y pcre pcre-devel安装 zlibzlib 是一个提供数据压缩的函数库nginx 对其有依赖yum install -y zlib zlib-devel5、安装 Nginx进入到解压后的 nginx 目录下/export/server/nginx-1.24.0cd /export/server/nginx-1.24.0查看目录内容ls -l配置安装目录将安装到/export/server/nginx 这个目录下./configure --prefix/export/server/nginx执行 make 和 make install 命令进行编译安装编译make安装make install查看安装后的情况目录/export/server 中多了 nginx 目录ls -l /export/server查看目录 /export/server/nginx 的内容ls -l /export/server/nginx6、开放端口 80检查端口是否开放firewall-cmd --zonepublic --query-port80/tcp开放端口firewall-cmd --zonepublic --add-port80/tcp --permanent重新加载firewall-cmd --reload再检查端口是否开放firewall-cmd --zonepublic --query-port80/tcp7、启动 Nginx进入到 nginx 安装目录下的 sbin即是目录 /export/server/nginx/sbin查看目录内容cd /export/server/nginx/sbin ls -l启动 nginx./nginx查看 nginx 相关的进程ps -ef | grep nginx8、验证 Nginx在其他终端打开浏览器输入ip回车9、删除编译源码包和安装解压目录删除编译源码包 nginx-1.24.0.tar.gzrm /root/nginx-1.24.0.tar.gz删除安装解压目录 /export/server/nginx-1.24.0rm -rf /export/server/nginx-1.24.0附设置 Nginx 服务开机启动需要 root 权限使用 root 用户进行命令操作原理利用 systemctl 管理服务1、新建服务在/usr/lib/systemd/system 目录下新建 nginx.service 文件配置内容vim /usr/lib/systemd/system/nginx.service配置内容如下[Unit] DescriptionNginx Server Afternginx.service [Service] Userroot Grouproot Typeforking ExecStart/export/server/nginx/sbin/nginx -c /export/server/nginx/conf/nginx.conf ExecStop/export/server/nginx/sbin/nginx -s quit ExecReload/export/server/nginx/sbin/nginx -s reload Restarton-failure PrivateTmptrue [Install] WantedBymulti-user.target2、重新加载systemctlsystemctl daemon-reload3、启动Nginxsystemctl start nginx.service;ps -ef | grep nginx4、设置 Nginx 开机启动设置开机启动systemctl enable nginx.service查看设置情况systemctl is-enabled nginx5、重启计算机reboot6、验证Nginx 开机启动systemctl status nginx.service;ps -ef | grep nginx附Nginx 的其他命令1、取消 Nginx 开机启动systemctl disable nginx.service2、重启 Nginx当前 Nginx 运行或停止状态都可以 restartsystemctl restart nginx.service只能在当前 Nginx 运行状态 reloadsystemctl reload nginx.service3、停止 Nginxsystemctl stop nginx.service