1、准备三台虚拟机
2、在三台虚拟机上安装nginx-1.22.1
下载nginx
wget http://nginx.org/download/nginx-1.22.1.tar.gz
解压
tar -zvxf nginx-1.22.1.tar.gz
编译安装
cd nginx-1.22.1
编译并指定安装位置,执行安装之后会创建指定文件夹/home/nginx
./configure --prefix=/home/nginx \
--with-pcre \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module \
--with-http_image_filter_module \
--with-http_slice_module \
--with-mail \
--with-threads \
--with-file-aio \
--with-stream \
--with-mail_ssl_module \
--with-stream_ssl_module
因为这个是c语言的我们要使用apt-get install gcc下载编译
在编译的过程会出现的问题和解决方法
问题1:
./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE library into the system, or build the PCRE library statically from the source with nginx by using --with-pcre= option. PCRE库
PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块需要靠它来解析正则表达式。另外,pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的。可以这样安装:
sudo apt update sudo apt install libpcre3 libpcre3-dev 问题2:
./configure: error: SSL modules require the OpenSSL library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl= option OpenSSL库
如果服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么需要拥有OpenSSL。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。可以这样安装:
sudo apt-get install openssl libssl-dev 执行编译并安装
因为我们没有make的命令需要安装make
apt-get install make安装好后输入make && make install
输入下面命令查看是否安装好
root@ubuntu:~/nginx-1.22.1# cd /home/nginx/
root@ubuntu:/home/nginx# ls -al
(其他两台虚拟机如上命令,也可以用docker)
然后在上面vim nginx.conf在里面加
这里要将server的IP地址改成另外两台虚拟机的IP地址
输入ip地址刷新第一次
刷新第二次
(因为实验后面root@ubuntu:~/nginx-1.22.1# cd /home/nginx/
root@ubuntu:/home/nginx# ls -al只有< . 和 .. >后面的实验结果借用笔记完成)