Linux(CentOS7)安装Nginx(附简单配置)

1. 安装make

yum -y install gcc automake autoconf libtool make

2. 安装gcc

yum -y install gcc gcc-c++

3. 安装OpenSSL(具体版本根据实际情况更新)

#下载openssl
cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz
#解压
tar -zxvf openssl-1.1.1b.tar.gz
#安装
cd openssl-1.1.1b
./config && make && make install

4. 安装PCRE库(具体版本根据实际情况更新),是nginx支持rewrite

#下载
cd /usr/local/src
wget https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
#解压
tar -zxvf pcre-8.40.tar.gz
#安装
cd pcre-8.40
./configure && make && make install

5. 安装zlib库(具体版本根据实际情况更新)

#下载
cd /usr/local/src
wget http://zlib.net/zlib-1.2.11.tar.gz
#解压
tar -zxvf zlib-1.2.11.tar.gz
#安装
cd zlib-1.2.11
./configure && make && make install

6. 安装nginx(具体版本根据实际情况更新)

#下载
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
#解压
tar -zxvf nginx-1.18.0.tar.gz
#安装
cd nginx-1.18.0
./configure && make && make install

7. 查看安装位置和版本

whereis nginx
#记录安装位置(以/usr/local/nginx为例)
cd /usr/local/nginx/sbin
./nginx -v

8. 启动

/usr/local/nginx/sbin/nginx
#查看启动状态
ps -ef|grep nginx

9. 添加端口开放,默认80端口

#查看防火墙状态(not running为未开启,running为开启中)
firewall-cmd --state
#方式一,直接关闭防火墙
systemctl stop firewalld.service
#方式二,开启80端口并重启防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld.service

10. 浏览器访问

http://192.168.0.100

11. 启动、重启、停止、重新加载/检查/指定配置文件

#启动
/usr/local/nginx/sbin/nginx     		   
#停止
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx -s quit

#强制停止
ps -ef | grep nginx
killall -9 nginx

#重启
/usr/local/nginx/sbin/nginx -s reopen
 
#重新载入配置文件
/usr/local/nginx/sbin/nginx -s reload

#检查配置文件
/usr/local/nginx/sbin/nginx -t

#启动时检查并指定配置文件
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf

12. 映射静态文件目录

#创建data文件夹
cd /usr/local/nginx/
mkdir data
#创建test.txt
cd data/
touch test.txt
#编辑文件
vi test.txt
#添加映射
cd /usr/local/nginx/conf
vi nginx.conf
#在http下添加配置
#listen 监听的端口
#server_name 服务名称,域名。无域名则配置本机IP
server {
        listen       8089;
        server_name  192.168.0.100;
        location / {
            root /usr/local/nginx/data/;
        }  
    }
#重新载入配置文件
/usr/local/nginx/sbin/nginx -s reload
#开放端口
firewall-cmd --zone=public --add-port=8089/tcp --permanent
systemctl restart firewalld.service

浏览器访问:http://192.168.0.100:8089/test.txt

13. Nginx upstream(三种常见)

  如果后端服务器down掉,则自动剔除。

  • 默认轮询
upstream backend {
    server 192.168.0.101; 
    server 192.168.0.102; 
} 
  • weight,访问比例与权重成正比
upstream backend {
    server 192.168.0.101 weight=1;
    server 192.168.0.102 weight=2; 
} 
  • ip_hash,解决session共享问题
upstream backend {
    ip_hash;
    server 192.168.0.101; 
    server 192.168.0.102; 
} 

负载均衡:

#以轮询为例,在http下配置
upstream backend {
    server 192.168.0.101; 
    server 192.168.0.102; 
} 
server {
    listen  80;
    server_name  192.168.0.100;
        
    location / {
        proxy_pass  http://backend;
    }
}

浏览器访问:http://192.168.0.100

posted @ 2020-06-01 22:40  C3Stones  阅读(617)  评论(0编辑  收藏  举报