Nginx安装

    技术2025-10-02  8

    yum安装

    更新yum源 Nginx官方yum源 [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true 安装软件 yum install -y nginx 出现异常则先清除缓存 yum clean all 启动/开机自启 systemctl start nginx systemctl enable nginx

    编译安装

    下载依赖 yum install openssl-devel zlib-devel pcre-devel -y 下载源码包 cd /server/tools/ wget http://nginx.org/download/nginx-1.18.0.tar.gz tar xf nginx-1.18.0.tar.gz cd nginx-1.18.0 创建虚拟账号 useradd -s /sbin/nologin -M nginx #必要时需指定账号id 编译 编译安装 ./configure --prefix=/application/nginx-1.18.0 --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module make && make install

    参数说明

    "–with-XXX_module “选项表示指明安装对应的模块,” --without-XXX_module"选项表示指明不安装对应的模块。

    创建软链接 ln -s /application/nginx-1.18.0/ /application/nginx

    #将Nginx安装路径通过软链接的方式更改为 /application/nginx/ ,方便人员使用. #安装时指定版本号路径是为了便于查看分区当前使用的Nginx版本,也方便以后升级. #内部人员使用路径 /application/nginx #当Nginx软件升级编译成带有新版本号的版本后,删除原来的软链接,再重新建立新的到/application/nginx 的软链接就好. #程序装如果有引用Nginx路径的地方,不需要做任何更改,因为升级后访问路径还是 /application/nginx

    环境变量 vim /etc/bashrc export PATH=/application/nginx/sbin/:$PATH source /etc/bashrc 启动服务 检查安装结果 nginx –t #此步骤重要 systemctl start nginx systemctl enable nginx 设置系统服务 vim nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx #nginx的安装目录 ExecReload=/usr/local/nginx/sbin/nginx reload ExecStop=/usr/local/nginx/sbin/nginx quit PrivateTmp=true [Install] WantedBy=multi-user.target

    配置语法高亮:

    cd nginx-1.18.0/ cp -r contrib/vim/* /usr/share/vim/vimfiles/

    可能遇到的问题

    无法访问

    在外部使用浏览器时,访问地址有可能访问不到。 原因:没有放80端口,防火墙与selinux问题.

    开放80端口 CentOS7 firewall-cmd --zone=public --add-port=80/tcp --permanent systemctl restart firewalld.service CentOS6 iptables -F #清除防火墙规则 /etc/init.d/iptables stop #关闭防火墙 chkconfig iptables off #关闭防火墙开机自启 Chkconfig –list | grep iptables #查看iptables 是否开启: iptables 0:关闭 1:关闭 2:启用 3:关闭 4:启用 5:关闭 6:关闭

    开放端口80,22,3306,8080命令

    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT /etc/rc.d/init.d/iptables save #保存之前输入已开放端口号 /etc/init.d/iptables status #查看打开端口

    测试环境可将防火墙关闭

    service firewalld stop #centos6 systemctl stop firewalld #centos7 关闭SElinux sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config setenforce 0 getenforce

    故障总结

    . 确认本地DNS配置 . 确认主机网络配置 . 服务端服务是否正常 . 是否有安全服务阻止 . 可能和浏览器有关系
    Processed: 0.012, SQL: 9