目录
前言:
nginx服务器是一个轻量级的web服务器/反向代理服务器以及电子邮件代理服务器。
nginx能够实现反向代理,负载均衡。当网站的访问量达到一定的程度后,单台服务器不能满足用户的请求,需要用多台服务器集群时,可以使用nginx做反向代理,从而为多台服务器平均分担负载,不会因为某台服务器负载高而宕机,另一台服务器闲置的情况。
甚至Nginx拥有动静分离技术,其原理是将静态资源(如HTML、CSS、JavaScript、图像等)和动态请求(如PHP、Python、Node.js等生成的页面)分开处理。静态资源由Nginx直接提供,而动态请求则通过反向代理传递给后端服务器处理。
nginx的下载和安装:
- 去官网下载nginx的压缩文件:
- nginx的官方网址为:nginx: download
- 打开官网,如下图所示:
- 我们是为Linux中部署nginx服务器,这里下载合适的Linux版本
- 将存在于我们物理机的压缩文件,传输或者共享到我们的虚拟机中:
- 这里使用Xftp的文件传送协议(Linux外部软件Xftp 7的连接教程,介绍了xftp的安装和连接过程),实现将物理机中的文件传输到虚拟机中,找到提前在物理机中下载好的nginx压缩文件,将其拖入到虚拟机/usr/lcoal目录下,如下图:
- 进入虚拟机,打开终端输入以下指令:
- 进入nginx压缩文件的存放目录:
cd /usr/local
- 查看/usr/lcoal目录下的文件
ls
- 找到nginx压缩文件,将其解压到当前目录下:
tar -xzf 3ca4a37931e9fa301964b8ce889da8cb_778f431dadce190efd9364fb961de2c3_8.gz
- 为nginx解压完的文件重命名为nginx:
mv nginx-1.8.0/ nginx
- 进入/usr/lcoal/nginx目录下,发现没有启动文件(.exe),说明这只是一个安装包还没有安装,通过yum安装nginx(过程中有y点y):
yum install gcc-c++ yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install -y openssl openssl-devel
- 在/usr/local/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
-
在/usr/local/nginx目录下,编译以上配置文件
make
-
在/usr/local/nginx目录下,执行安装nginx的代码
make install
- 进入nginx压缩文件的存放目录:
部署:
-
进入/usr/local/nginx/sbin目录:
cd /usr/local/nginx/sbin
-
开启nginx进程:
-
./nginx
-
注意:在第一次启动nginx进程时,虚拟机会出现缺少文件的情况,按照提示缺什么创建什么:
[root@Nginx100 sbin]# ./nginx nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (2: No such file or directory) 2023/12/04 22:49:07 [emerg] 10435#0: mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
我这里是缺省/var/log/nginx/error.log文件,按照提示创建:
mkdir -p /var/log/nginx touch /var/log/nginx/error.log
还缺少/var/temp/nginx/client文件,继续创建:
mkdir -p /var/temp/nginx touch /var/temp/nginx/client
创建完之后再执行,要是还提示类似的错误,就继续创建,知道能运行为止(一般需要创建三个左右)
-
-
最后再次在/usr/local/nginx/sbin目录下,启动nginx进程:
./nginx
-
最后通过浏览器使用ip地址的方式访问nginx服务器(192.168.52.128),如下图代表部署成功:
-
关闭nginx进程:
-
./nginx -s stop
-