Centos7下安装Nginx

本文详细介绍了在Centos7上安装Nginx的步骤,包括下载tar.gz文件、安装依赖、编译安装、启动服务、修改配置文件以及使用Nginx进行负载均衡的配置。在配置负载均衡时,讲解了如何设置权重和处理服务器故障的情况。

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

一、下载 tar.gz 文件包

下载地址:http://nginx.org/en/download.html

点击会自动下载,下载成功后传到Centos服务器上。

二、安装相关依赖包

yum install gcc -c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

三、解压文件包

进入到文件包的目录下,执行命令

tar -zxvf nginx-1.18.0.tar.gz

四、编译安装

进入到解压后的文件夹中,执行命令

cd nginx-1.18.0/

./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/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

命令执行后,会在 /usr/local 目录下生成一个名为 “nginx” 的文件夹

然后执行命令 make 编译

最后执行命令 make install 安装

五、启动Nginx

进入目录 /usr/local/nginx/sbin ,执行命令

cd /usr/local/nginx/sbin/
./nginx                 // 启动Nginx
./nginx -s stop         // 停止Nginx(不管当前有没有处理任务,强制停止)
./nginx -s quit         // 停止Nginx(处理完当前任务后,才会停止)
./nginx -s reload       // 重启Nginx

六、测试运行

服务成功启动后,浏览器地址栏输入当前服务的 IP 地址,能看到 Nginx 的欢迎页表示安装完成。

七、修改配置文件

进入目录 /usr/local/nginx/conf 下,有个名为 “nginx.conf” 的配置文件,打开后发现默认端口是80。

我们将默认端口改为 “9090”,然后重启服务(必须重启服务,否则配置文件不会生效),刷新页面,发现页面进不去了。

此时我们在地址后加上端口,页面恢复正常。

八、使用nginx代理服务器做负载均衡

修改 /usr/local/nginx/conf 目录下的 “nginx.conf” 配置文件,在 http 模块下 server 模块内更改配置

#负载均衡配置start
location / {
    proxy_pass   http://127.0.0.1;
    proxy_redirect default;
}
#负载均衡配置end

在 http 模块下 server 模块外添加配置

upstream 127.0.0.1{
    server localhost:8080 weight=2;
    server 192.168.101.128:9090 weight=1;
}

整个配置文件内容如下:

说明:当我们访问 http://localhost:8989/ 时,nginx会自动跳转到配置的两个服务器中的一个。weight:表示权重,数字越大,被分配到的可能性越大;若数字值一样大小,意味着请求将平均分配到每个服务器上。假设 192.168.101.128 服务器宕机了,那么nginx会自动转向另一台服务器。

注意:proxy_pass 后面设置的地址必须与 upstream 后面的地址一致!

 

补充:

1、启动nginx时报错:"upstream" directive is not allowed here in E:\nginx-1.18.0/conf/nginx.conf:50

原因:"upstream"配置信息位置写错,必须在 在 http 模块下,server 模块外。

解决方案:按照上图给的例子更改过来即可。

2、启动nginx时报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

原因:端口被占用,nginx默认端口为80,会有其他的软件默认端口也是这,从而出现端口被占用的情况

解决方案:server 下 listen 监听端口更换一个即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值