一、安装前的准备:

  1. 更新系统软件:yum update
  2. 查看是否已安装wget: rpm -qa wget 否则安装:yum install –y wget
  3. 查看是否已安装编译器: rpm -qa gcc 否则安装:yum install -y gcc gcc-c++

二、安装Nginx

  1. 安装nginx依赖包
    nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法:yum -y install pcre pcre-devel
    nginx的各种模块中需要使用gzip压缩:yum -y install zlib zlib-devel
    安全套接字层密码库:yum -y install openssl openssl-devel

  2. 下载nginx包并解压(到/usr/local/src目录中)
    cd /usr/local/src
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    tar -zxvf nginx-1.12.2.tar.gz
  3. 编译安装(到/usr/local/nginx目录中)
    cd nginx-1.12.2
    ./configure --prefix=/usr/local/nginx
    --with-http_ssl_module #HTTPS模块
    --with-stream #stream模块,用来实现四层协议的转发、代理或者负载均衡等
    --with-stream_ssl_module #支持https的stream模块
    --with-http_stub_status_module #状态监控模块
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-stream_ssl_module --with-http_stub_status_module
    make
    make install

  4. 创建并设置nginx运行账号:
    groupadd nginx
    useradd -M -g nginx -s /sbin/nologin nginx

cd /usr/local/nginx/conf
vim nginx.conf,设置user参数如下:
user nginx nginx
日志记录配置
log_format main '$remote_addr - $remote_user [$time_iso8601] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $upstream_response_time $request_time';
access_log logs/access.log main;

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #看个人需要

启动一次nginx,,,,然后再平滑重起,要不然可能出现以下问题
【问题】nginx –s reload出错:nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
【解决办法】/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  1. 设置nginx为系统服务
    vim /lib/systemd/system/nginx.service

文件内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target

  1. 设置nginx开机自启动:systemctl enable nginx.service

  2. 开启nginx服务:systemctl start nginx.service

查看nginx是否启动成功:ps aux | grep nginx

在浏览器中访问测试:http://localhost
出现以下界面则表示可以成功访问:

  1. 防火墙开放80端口(nginx默认使用80端口,可在nginx.conf中配置,若无需进行远程访问则不需要开放端口)

永久开放80端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:firewall-cmd --reload
查看防火墙开启状态:systemctl status firewalld
查看80端口是否开放成功:firewall-cmd --zone=public --query-port=80/tcp
可在windows宿主主机浏览器直接访问ip测试是否可以成功访问。