centos7 安装nginx

源码包放在/ usr / local / src /目录下,编译安装在/ usr / local /目录下

#更新百胜源,安装了wget的的的

yum -y update 
yum -y install wget

 LNMP和电灯的依赖,大抵都是这些

yum -y install autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib glib2 glibc glibc-glvel glib2-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap -servers gd gd2 gd-devel gd2-devel perl-CPAN pcre-devel net-snmp net-snmp-devel

yum -y install gcc automake autoconf libtool make gcc-c ++ glibc libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses -devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel pcre pcre-devel libmcrypt libmcrypt-devel cmake

yum install -y gcc gcc-c ++ glibc glibc-devel gd gd-devel zlib zlib-devel libtool-ltdl-devel flex autoconf automake

 

#创建用户组LNMP,创建用户LNMP所属组LNMP设置不能登录

#/ bin / false是最严格的禁止登录选项,一切服务都不能用,而/ sbin / nologin只是不允许系统登录,可以使用其他ftp等服务

groupadd lnmp && useradd -g lnmp -M lnmp -s /bin/nologin

#创建安装目录

mkdir /usr/local/nginx

#下载nginx的源码,解压

cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0

#编译设置

./configure --user=lnmp --group=lnmp --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module 

#编译&&安装

make && make install

 #检查配置文件nginx.conf的正确性

/usr/local/nginx/sbin/nginx -t

#启动nginx的

/usr/local/nginx/sbin/nginx

 #查看nginx的的版本

/usr/local/nginx/sbin/nginx -v

#查看nginx的的编译参数

/usr/local/nginx/sbin/nginx -V

#查看nginx的的进程及端口

ps -ef |grep nginx

# nginx常用命令

/usr/local/nginx/sbin/nginx -s reload            // 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reopen            // 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop             // 停止 Nginx

# 设置nginx自启动,代码复制于阿里云

vi /etc/rc.d/init.d/nginx
#!/bin/bash
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  NGINX is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
  # make required directories
  user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
  if [ -n "$user" ]; then
    if [ -z "`grep $user /etc/passwd`" ]; then
      useradd -M -s /bin/nologin $user
    fi
    options=`$nginx -V 2>&1 | grep 'configure arguments:'`
    for opt in $options; do
        if [ `echo $opt | grep '.*-temp-path'` ]; then
          value=`echo $opt | cut -d "=" -f 2`
          if [ ! -d "$value" ]; then
            # echo "creating" $value
            mkdir -p $value && chown -R $user $value
          fi
        fi
    done
  fi
}

start() {
  [ -x $nginx ] || exit 5
  [ -f $NGINX_CONF_FILE ] || exit 6
  make_dirs
  echo -n $"Starting $prog: "
  daemon $nginx -c $NGINX_CONF_FILE
  retval=$?
  echo
  [ $retval -eq 0 ] && touch $lockfile
  return $retval
}

stop() {
  echo -n $"Stopping $prog: "
  killproc $prog -QUIT
  retval=$?
  echo
  [ $retval -eq 0 ] && rm -f $lockfile
  return $retval
}

restart() {
  configtest || return $?
  stop
  sleep 1
  start
}

reload() {
  configtest || return $?
  echo -n $"Reloading $prog: "
  killproc $nginx -HUP
  RETVAL=$?
  echo
}

force_reload() {
  restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
  status $prog
}

rh_status_q() {
  rh_status >/dev/null 2>&1
}

case "$1" in
  start)
    rh_status_q && exit 0
    $1
    ;;
  stop)
    rh_status_q || exit 0
    $1
    ;;
  restart|configtest)
    $1
    ;;
  reload)
    rh_status_q || exit 7
    $1
    ;;
  force-reload)
    force_reload
    ;;
  status)
    rh_status
    ;;
  condrestart|try-restart)
    rh_status_q || exit 0
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|reload|configtest}"
    exit 2
esac

# 设置执行权限 

chmod a+x /etc/rc.d/init.d/nginx 

# 注册成服务 

chkconfig --add nginx 

# 设置开机启动 

chkconfig nginx on 

# 重启, 查看nginx服务是否自动启动 

shutdown -h 0 -r 
netstat -apn|grep nginx 

# 对nginx服务执行停止/启动/重新读取配置文件操作 
# 启动nginx服务 

systemctl start nginx.service 

# 停止nginx服务 

systemctl stop nginx.service 

# 重启nginx服务 

systemctl restart nginx.service 

# 重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效) 

systemctl reload nginx.service

 

=================================参考================================ ==

 #### nginx依赖源:gcc,PCRE,pcre-devel,zlic,openSSL

#gcc:将下载的源码进行编译,需要依赖GCC环境

yum -y install gcc-c++ 

#PCRE(Perl的兼容正则表达式)是一个Perl的库,包括perl的兼容的正则表达式库.nginx的HTTP模块使用PCRE来解析正则表达式,所以需要在Linux的上安装PCRE库,PCRE-devel的是使用PCRE开发的一个二次开发库.nginx也需要此库。

yum -y install pcre pcre-devel

#zlib库提供了很多种压缩和解压缩的方式,Nginx的使用zlib的对HTTP包的内容进行gzip的,所以需要在Centos的上安装的zlib库。

yum -y install zlib zlib-devel

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

yum install -y openssl openssl-devel

###编译设置参数

nginx编译的配置选项:
      configure命令是用来检测你的安装平台的目标特征的。它定义了系统的各个方面,包括nginx的被允许使用的连接处理的方法,比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个外壳脚本,执行结束时,它会创建一个Makefile文件。

nginx的的配置的命令支持以下参数:

--prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。
--sbin-path=path 设置nginx的可执行文件的路径,默认为user/sbin/nginx.
--conf-path=path 设置在nginx.conf配置文件的路径。nginx允许使用不同的配置文件启动,通过命令行中的-c选项。默认为prefix/conf/nginx.conf.
--pid-path=path 设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名,在nginx.conf配置文件中使用PID指令。默认情况下,文件名为prefix/logs/nginx.pid。
--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名,在nginx.conf配置文件中 使用的error_log指令。默认情况下,文件名为prefix/logs/error.log。
--http-log-path=path 设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文
件名,在nginx.conf配置文件中使用 的access_log指令。默认情况下,文件名为prefix/logs/access.log。
--user=name 设置nginx工作进程的用户。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的user指令。默认的用户名是nobody。
--group=name 设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中使用的user指令。默认的为非特权用户。
--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。
--without-http_gzip_module 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。
--without-http_rewrite_module 不编译重写模块。编译并运行此模块需要PCRE库支持。
--without-http_proxy_module 不编译http_proxy模块。
--with-http_ssl_module 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。
--with-pcre=path 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和ngx_http_rewrite_module 模块中。
--with-pcre-jit 编译PCRE包含“just-in-timecompilation”(1.1.12中, pcre_jit指令)。
--with-zlib=path 设置的zlib库的源码路径。要下载从zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./configure和make完成。ngx_http_gzip_module模块需要使用zlib 。
--with-cc-opt=parameters 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I/usr/local/include。.如需要需要增加 select()支持的文件数量:
--with-cc-opt="-DFD_SETSIZE=2048"。
--with-ld-opt=parameters 设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L/usr/local/lib"。

 参考了:https//www.cnblogs.com/KenChung/p/8079313.html
              http://blog.51cto.com/oudonghang/1919172

要在CentOS7安装NGINX,你需要按照以下步骤进行操作: 1. 首先,你需要准备好安装NGINX的环境。这包括安装GCC编译器。使用以下命令安装GCC环境: ``` $ yum install -y gcc ``` 2. 下载NGINX安装文件。你可以从NGINX官方网站下载最新版本的NGINX压缩包。将下载好的文件解压缩: ``` $ tar -zxvf nginx-1.20.2.tar.gz ``` 3. 进入解压后的NGINX目录,执行以下命令编译和安装NGINX: ``` $ cd nginx-1.20.2 $ ./configure $ make $ make install ``` 4. 安装完成后,你可以通过以下命令启动NGINX服务: ``` $ nginx ``` 5. 在浏览器中访问服务器的IP地址或域名,你应该能够看到NGINX的欢迎页面,这表明NGINX已成功安装并正在运行。如果你想在系统启动时自动启动NGINX服务,可以执行以下命令: ``` $ systemctl enable nginx ``` 请注意,这里提供的步骤是一种常见的安装NGINX的方法,具体的步骤可能因个人系统环境而有所不同。如果你遇到任何问题,可以参考NGINX的官方文档或在相关技术社区寻求帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Linux操作系统CentOS7安装Nginx[详细版]](https://blog.csdn.net/Wei_Naijia/article/details/124228897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Centos7安装配置nginx](https://blog.csdn.net/Siebert_Angers/article/details/126960866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [centos7安装nginx1.16.1](https://download.csdn.net/download/readyoften/13093228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值