本篇文章的知识来源于教学视频总结 + 自己总结的一些经验 教学视频地址: https://www.bilibili.com/video/BV1zJ411w7SV?p=1
方式2: 打开下载网址: http://nginx.org/en/download.html, 选择喜欢的版本去下载
参考文章: https://www.cnblogs.com/herui1991/p/8996917.html(「其中有些坑需要注意!」)
1. 安装依赖环境:
yum -y install gcc gcc-c++ make automake autoconf pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool
2. 解压压缩包:
tar zxvf nginx-1.20.2.tar.gz
3. 进入解压目录:
cd nginx-1.20.2
4. 编译ngnix:
./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
5. 生成nginx服务:
make && make install
6.运行测试
cd /usr/local/nginx/sbin
./nginx
ps -ef|grep nginx 如果看到ngnix在运行, 说明编译完成
「坑1」 按照帖子编译出来的nginx,./nginx运行时,出现报错: nginx: [emerg] getpwnam("nginx") failed 「解决方法」: 编译安装nginx的时候(运行./configure这个很长的命令时)指定了--user=nginx和--group=nginx,去除就对了(「我上面写的./configure命令是去除后的, 可直接使用」)
「坑2」 我在实际操作过程中遇到个报错:
「解决方法」: 看报错是缺少一个文件夹,创建好就行 cd /var/tmp/nginx mkdir nginx
启动: ./nginx
查看版本: ./nginx -v 当前使用的版本为 1.20.1
关闭 nginx
./nginx -s stop
重新加载 nginx 主要用于修改配置文件后, 重新加载配置文件(类似于热部署)
./nginx -s reload
cd /usr/local/apache-tomcat-8.5.73/conf
vim server.xml , 修改图示地方的端口号
「关于vim快速查询关键字的小技巧」 vim 文件名后,使用 /port ,回车即可定位到关键字第一个出现的位置,按 "n"可定位到下一个关键字位置,按"N"可往上查找关键字的位置
「验证是否启动成功」 方法1:浏览器访问 http://ip:8090 方法2: ps -ef|grep tomcat
预期效果如下:
访问http://127.0.0.1:80/edu/a.html, 跳转到127.0.0.1:8090, 访问对应的a.html资源 访问http://127.0.0.1:80/vod/a.html, 跳转到127.0.0.1:8091, 访问对应的a.html资源
1.拷贝一个新的tomcat环境
cp -r apache-tomcat-8.5.73 apache-tomcat-8.5.73-1
2.修改新tomcat环境的端口号(注意要修改2个地方!)
<Connector port="8091" protocol="HTTP/1.1" 原来是8090, +1
<Server port="8006" shutdown="SHUTDOWN"> 原来是8005, +1
首先在第1个tomcat(使用8090端口)的指定目录创建资源
cd /usr/local/apache-tomcat-8.5.73/webapps/ROOT
mkdir edu
vim a.html 内容: <h1>8090-edu</h1>
在第2个tomcat(使用8091端口)的指定目录创建资源
cd /usr/local/apache-tomcat-8.5.73-1/webapps/ROOT
mkdir vod
vim a.html 内容: <h1>8091-vod</h1>
vim nginx.conf, 增如下的配置
server {
listen 9001;
server_name 127.0.0.1;
location ~ /edu/ {
proxy_pass http://127.0.0.1:8090;
}
location ~ /vod/ {
proxy_pass http://127.0.0.1:8091;
}
}
配置说明: 如果访问路径带有/edu,那么nginx就会反向代理到 http://127.0.0.1:8090/edu, 另一个同理
改为配置后,记得重新加载配置: ./nginx -s reload 6. 测试效果 http://192.168.16.122:9001/edu/a.html
http://192.168.16.122:9001/vod/a.html
「调试技巧:」