yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-delvel
yum install openssl openssl-devel
用来编译、安装Nginx文件
yum install -y lrzsz
用来从Windows上传叫jdk和Tomcat
yum install -y wget
用来网址下载Nginx
yum install -y vim
用来配置相关文件,相当于Windows中的笔记本
rz //选择上传的文件
选择要上传的jdk和Apache-Tomcat文件
tar -zxvf 要解压的文件
解压jdk和Apache-Tomcat压缩包
*注:博主这里放到了/opt/soft
vim /etc/profile
进入环境变量文件,配置环境变量
将以下放到文件最下面
export JAVA_HOME=/opt/soft/jdk1.8.0_202
export JRE_HOME=/opt/soft/jdk1.8.0_202/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
注意:前面两行为博主的路径,注意替换
用以下命令让环境变量生效
source /etc/profile
java -version
进入/opt/soft/apache-tomcat-8.5.82A/bin文件夹
./catalina.sh run
启动服务器
注意:浏览器访问时需要关闭Linux防火墙,命令如下
systemctl stop firewalld
访问https://nginx.org/en/download.html找到想要的Nginx版本,复制链接地址
wget 链接地址
配置相关文件
./configure
make
make install
如图即安装成功
注:一般情况下默认安装在/usr/local/nginx目录下
进入默认安装目录下的conf目录
修改nginx.conf文件
vim nginx.conf
加入upstream,server后为自己Tomcat的ip地址和端口号
在location中加入proxy_pass http://mytomcat;
ip_hash的作用:
ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;
使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会发送到同一台特定的Tomcat里面,它的session不会跨到其他的tomcat里面去的;
进入/usr/local/nginx/sbin/
测试文件配置是否正确
./nginx -t
./nginx -s reload
将Tomcat服务器开启后,在浏览器中输入部署Nginx的IP地址,可以访问即为正确
注意:浏览器访问时需要关闭Linux防火墙,命令如下
systemctl stop firewalld
将动态请求和静态请求区分访问
tomcat本身处理静态效率不高,还会带来资源开销.所以使用动静分离,将静态由Nginx处理, 动态由PHP处理或Tomcat处理
Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理。
如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理
总结来说,Nginx是通过url来区分请求的类型,并转发给不同的服务端
我搭建的Nginx是反向代理负载均衡模式,所以把静态文件都存放在Nginx代理服务器上:
首先在Nginx安装目录下创建一个存放静态文件的文件夹:
#创建静态文件存储目录
mkdir /usr/local/nginx/static
编辑nginx配置文件
#找到nginx的配置文件
cd /usr/local/nginx/conf
#编辑配置文件
vim nginx.conf
找到server标签,内部添加动静分离配置:
在server标签内部添加如下配置信息:
#通过url判断如下后缀为静态文件,并转至静态文件路径获取文件
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
#某用户下的 静态文件路径
root /opt/nginx/static/;
#缓存有效期 30d = 30天,也可以去掉
expires 30d;
}
#切换到nginx目录下
cd /usr/local/nginx
#进入操作命令文件夹
cd /sbin
#重启
./nginx -s reload
完成!
在云服务器中部署Nginx时,如果无法编译,需要将操作系统版本回退
Nginx 重启无错误提示但浏览器无法访问且无法杀死进程时,使用如下命令
./nginx -c /usr/local/nginx/conf/nginx.conf