Linux Centos7 安装 nginx

本文介绍如何在CentOS 6.5环境中从源码编译安装Nginx,并配置其基本运行环境。内容涵盖安装所需依赖库、编译安装过程、启动与停止方法、以及设置开机自启动等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 nginx安装环境

nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
n gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装
gcc:

yum install gcc-c++

n PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install -y pcre pcre-devel

注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
n zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

n openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

2 编译安装

将nginx-1.8.0.tar.gz拷贝至linux服务器。

解压:

tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0

1、 configure
./configure –help查询详细参数(参考本教程附录部分:nginx编译参数)

参数设置如下:

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

2、 编译安装

make
make  install

安装成功查看安装目录 :

3 启动nginx

cd /usr/local/nginx/sbin/
./nginx

查询nginx进程:

15098是nginx主进程的进程id,15099是nginx工作进程的进程id

注意:执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(–conf-path= 指向配置文件(nginx.conf))

4 停止nginx

方式1,快速停止:

cd /usr/local/nginx/sbin
./nginx -s stop

此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

方式2,完整停止(建议使用):

cd /usr/local/nginx/sbin
./nginx -s quit

此方式停止步骤是待nginx进程处理任务完毕进行停止。

5 重启nginx

方式1,先停止再启动(建议使用):
对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
如下:

./nginx -s quit
./nginx

方式2,重新加载配置文件:
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:

./nginx -s reload

6 测试

nginx安装成功,启动nginx,即可访问虚拟机上的nginx http://192.168.101.3:80
这里写图片描述

到这说明nginx上安装成功。

7.开机自启动nginx

7.1编写shell脚本
这里使用的是编写shell脚本的方式来处理

vi /etc/init.d/nginx (输入下面的代码)

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#              It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi
   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac
exit $RETVAL

:wq 保存并退出

7.2设置文件的访问权限

chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行)

这样在控制台就很容易的操作nginx了:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx…

这里写图片描述

如果修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了

7.3加入到rc.local文件中
vi /etc/rc.local

加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。

<think>好的,我现在需要帮助用户在CentOS 7安装Nginx。根据用户提供的引用内容,我需要整理出正确的步骤。首先,用户引用了多个来源,其中提到了安装前的准备、下载Nginx、配置安装选项、编译安装以及启动Nginx。 第一步,确认用户是否满足先决条件,比如CentOS 7系统、root权限和必要的工具。然后安装依赖包,比如gcc、PCRE、zlib和OpenSSL。这些步骤在引用2和引用5中提到过,可能需要使用yum安装。 接下来是下载Nginx源代码。用户提供的引用3、5中有不同的版本,比如1.21.5和1.18.0。需要选择最新稳定版本,但也要看用户是否有特定版本需求。这里可能需要统一版本,比如使用1.21.5,并给出wget命令。 解压并进入目录后,配置编译选项。引用2提到了./configure命令,指定了安装目录和SSL模块。需要确保用户正确设置prefix路径,并且启用必要的模块。可能还需要添加其他模块,比如http_ssl_module,以便支持HTTPS。 然后编译和安装,使用make和make install命令。这部分在引用中没有详细提到,但属于标准流程。安装完成后,需要进入sbin目录启动Nginx,如引用4所示。可能需要检查防火墙设置,开放80端口,或者配置SELinux。 最后,验证安装是否成功,通过访问IP地址或使用curl命令。同时,可能需要设置开机启动,但用户提供的引用中没有提到,可能需要补充这部分信息。 需要注意的是,用户提供的引用中有不同的安装路径,比如/home/gaochao/nginx和/usr/local/nginx,需要统一说明,或者让用户根据需求选择。此外,确保所有命令的正确性,比如正确的解压命令和目录切换。 可能的问题包括依赖包安装失败、配置选项错误导致编译失败,或者防火墙阻止访问。需要提前预见到这些,并在步骤中给出解决方法,比如如何安装依赖,如何排查编译错误,如何配置防火墙。 总结步骤应该是:安装依赖 -> 下载并解压源码 -> 配置编译选项 -> 编译安装 -> 启动Nginx -> 验证安装。同时,根据引用内容,确保每个步骤的命令正确,并引用对应的引用标记。</think>以下是在CentOS 7安装Nginx的详细步骤: ### 1. 安装依赖包 首先安装编译环境和基础依赖: ```bash yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` 这些库是编译Nginx的必要组件,其中`pcre`支持正则表达式,`zlib`提供压缩功能,`openssl`用于SSL/TLS加密[^1][^2]。 ### 2. 下载源码包 通过wget下载Nginx源码(以1.21.5版本为例): ```bash wget -c https://nginx.org/download/nginx-1.21.5.tar.gz ``` 其他版本可在[Nginx官网](https://nginx.org/en/download.html)查看[^3][^5]。 ### 3. 解压并配置 解压后进入源码目录: ```bash tar -zxvf nginx-1.21.5.tar.gz cd nginx-1.21.5 ``` 执行配置命令(自定义安装路径和模块): ```bash ./configure --prefix=/usr/local/nginx --with-http_ssl_module ``` `--prefix`指定安装目录,`--with-http_ssl_module`启用HTTPS支持[^2]。 ### 4. 编译与安装 ```bash make && make install ``` 此过程可能需要3-5分钟,若报错需检查依赖是否完整。 ### 5. 启动Nginx 进入安装目录的sbin路径并启动: ```bash cd /usr/local/nginx/sbin/ ./nginx ``` 验证服务状态: ```bash ps -ef | grep nginx ``` 若显示`master process`和`worker process`则启动成功[^4]。 ### 6. 防火墙配置 开放80端口: ```bash firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload ``` ### 7. 验证安装 浏览器访问`http://服务器IP`,若显示"Welcome to nginx!"即安装成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值