1.卸载Nginx
ps -ef|grep nginx 查询Nginx 进程pid
如上图 master是主进程, worker是工作进程, master负责维护worker进程
Nginx启动后默认启动master进程和worker进程
Nginx默认使用端口80
kill -9 7035 或者 kill -term 7035
kill -9 7036
查找根下所有名字包含nginx的文件
find / -name nginx
执行命令 rm -rf *删除nignx安装的相关文件
下面开始安装,安装方式很多,可以选择官网下载后拖进linux
官网nginx: download
官网下载的方式:Linux安装Nginx_linux 安装nginx_biubiubiu0706的博客-CSDN博客
也可以选择自动下载,这里用wget下载
首先安装必要工具和依赖 nginx是C语言编写的,需要C语言的编译环境
yum -y install wget gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
创建个文件夹用来存放
mkdir /usr/local/develop 我这里该文件夹已经存在
进入该文件夹
cd /usr/local/develop
下载
wget http://nginx.org/download/nginx-1.20.1.tar.gz
关于解压命令
解压
tar -zxvf nginx-1.20.1.tar.gz
进入nginx-1.20.1解压目录
cd /usr/local/develop/nginx-1.20.1
后面两个module是支持https必要的
./configure --prefix=/usr/local/develop/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
然后进入真正安装的目录
cd /usr/local/develop/nginx/sbin
./nginx 启动Nginx
或者
/usr/local/develop/nginx/sbin/nginx
下面是将Nginx作为正向代理的相关
同样下面这句插件是必须的
yum -y install wget gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
mkdir /root/tools
cd /root/tools
wget https://github.com/chobits/ngx_http_proxy_connect_module/archive/refs/tags/v0.0.2.zip
sudo yum install unzip 安装unzio指令 不然下面这条命令报错
unzip v0.0.2.zip
mkdir /usr/local/develop
cd /usr/local/develop
wget http://nginx.org/download/nginx-1.19.2.tar.gz
tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.19.2
patch -p1 < /root/tools/ngx_http_proxy_connect_module-0.0.2/patch/proxy_connect_rewrite_1018.patch
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=/root/tools/ngx_http_proxy_connect_module-0.0.2
make && make install
cd /usr/local/nginx
关于正向代理的配置相关如果不安装v0.0.2.zip 的话proxy_connect;等命令找不到
server {
listen 80;
server_name localhost;
resolver 114.114.114.114;
proxy_connect;
proxy_connect_allow 443 80;
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
location / {
proxy_pass $scheme://$http_host$request_uri;
}
}
关于启动方式
指定配置文件启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
指定配置文件启动 后面加 -t意思 并检查配置文件
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t
启动Nginx
/usr/local/nginx/sbin/nginx
重启nginx/usr/local/nginx/sbin/nginx -s reload 或者在sbin目录下 ./nginx -s reload
关闭
/usr/local/nginx/sbin/nginx -s stop
优雅关闭
/usr/local/nginx/sbin/nginx -s quit
或者 kill -quit 对应的pid 优雅关闭不会立马关闭Nginx,而是等Nginx处理完所有请求后关闭
用传统shell 下载当前文件
sz nginx.conf
上传
rz -y 然后选择文件上传
JDK安装
mkdir /usr/local/develop/
解压安装包 并且将安装文件放到 jdk目录里
tar -zxvf /usr/local/develop/jdk-8u191-linux-x64.tar.gz -C /usr/local/develop/
进入安装好的jdk目录里
cd /usr/local/develop/jdk1.8.0_191/
其实也可以mv jdk1.8.0_191 jdk1.8 修改包名
查看下路径复制下来 usr/local/develop/jdk1.8.0_191
pwd
配置JAVA_HOME
1.系统环境
vim /etc/profile
到最下面
export JAVA_HOME=/usr/local/develop/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
让环境变量生效
source /etc/profile
java -version 查看jdk版本 至此JDK安装完成
Tomcat包拖进去
tar -zxvf /usr/local/develop/apache-tomcat-9.0.74.tar.gz -C /usr/local/develop
/usr/local/develop/apache-tomcat-9.0.74/bin/startup.sh
一台服务器 启动多个Tomcat 需要改Tomcat ---->conf----->server.xml
每个server.xml的下面两个不重复就行
比如说
/usr/local/develop/apache-tomcat-91/bin/startup.sh
/usr/local/develop/apache-tomcat-92/bin/startup.sh
/usr/local/develop/apache-tomcat-93/bin/startup.sh
启动了3个Tomcat 且我在每个tomcat里放了一个应用
访问8081
访问8082
访问8083
现在用Nginx 做负载均衡
#负载均衡策略 N个服务器
#1.默认轮询策略 换着来 轮询时候如果一台宕机了,那么换剩下的来轮询,宕机到最后一台,那么全发最后一台
#2.可以设定权重大小 weight=1 weight=4 即5次访问 1个1次另外个5次
比如 开启时候将;#去掉 注意是 ; #
IP hash
ip hash也叫IP绑定,每个请求按访问ip的hash值分配,这样每个访问客户端会固定访问一个后端服务器,可以解决会话Session丢失的问题,也就是说原先根据算法绑定的访问哪一台服务器,后面都会访问那一台,因为Ip的hash值是固定的
#3.IP HASH策略 如果需要用户与指定服务器绑定,则使用该策略 IPHASH优先级高 权重效果没有了
#IPHASH算法就是对IP进行HASH计算%(2根据服务器的台数计算取余)#IPHASH 如果指定服务器坏了 自动连另外台
写错了是 ip_hash;
4最少连接数 哪个服务器连接少 就分给哪个服务器
负载均衡其他几个配置
配置1:
upstream backserver {
server 127.0.0.1:9100;
#其它所有的非backup机器down的时候,才请求backup机器
server 127.0.0.1:9200 backup;
}
配置2:
upstream backserver {
server 127.0.0.1:9100;
#down表示当前的server是down状态,不参与负载均衡
server 127.0.0.1:9200 down;
}
一般在项目上线的时候,可以分配部署不同的服务器上,然后对Nginx重新reload。
reload不会影响用户的访问,或者可以给一个提示页面,系统正在升级...
Nginx重启命令 /usr/local/nginx/sbin/nginx -s reload 保证nginx安装在该目录下哈
Redis安装
tar -zxvf /usr/local/develop/redis-6.0.16.tar.gz -C /usr/local/develop
如果是5.x版本(执行下面这条命令就完成了)
make MALLOC=libc
如果是6.x版本会出现下面
这种情况
查看gcc版本
gcc -v
如果当前的gcc版本不是5.3以上,执行下面命令更新gcc版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
安装redis 到指定目录 这里才是真正安装
make install PREFIX=/usr/local/redis
启动命令
前端启动
进入Redis目录
cd /usr/local/redis/bin
前端启动的命令:
[root@localhost bin]# ./redis-server
前端启动的关闭:
强制关闭:Ctrl+c
正常关闭:[root@localhost bin]# ./redis-cli shutdown
前端启动的问题:
一旦客户端关闭,则redis服务也停掉。
后端启动
第一步:需要将redis解压之后的源码包中的redis.conf文件拷贝到bin目录下
[root@localhost bin]# cp /usr/local/develop/redis-6.0.16/redis.conf /usr/local/redis/bin
第二步:修改redis.conf文件,将daemonize改为yes
vim /usr/local/redis/bin/redis.conf
看这篇Linux安装Redis_biubiubiu0706的博客-CSDN博客