centos7 部署 nginx+tomcat+redis

配置环境:阿里云服务器  centos7 用xshell远程连接

用云服务器 配置前先对安全组进行设置 

再对centos7 防火墙进行置https://www.cnblogs.com/moxiaoan/p/5683743.html

1. jdk,mysql 下载安装

jdk安装

    java -version 查看是否已有jdk

    历史版本jdk 下载:http://www.oracle.com/technetwork/java/javase/archive-139210.html

    复制下载连接  到centos中选择文件夹weget下载,下载连接有时间限制,立即下载。

    tar -zxvf jdk-8u131-linux-x64.tar.gz 

    mv jdk1.8.0_131 /usr/local/

配置环境变量

vim /etc/profile

在文件尾部添加如下配置:

export JAVA_HOME=/usr/local/jdk1.8.0_131/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

最后通过source /etc/profile 是文件重新加载。

mysql配置  参考https://www.cnblogs.com/bigbrotherer/p/7241845.html

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

rpm -qa|grep mariadb      卸载 mariadb      
rpm -e --nodeps 文件名 (上面指令查出的所有文件)

1 下载并安装MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

  使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

  之后就开始安装MySQL服务器。

[root@localhost ~]# yum -y install mysql-community-server

安装完成后 启动MySQL:systemctl start mysqld.service

查看运行状态: systemctl  status mysqld.service       或    ps -ef | grep mysql

设置开机自启

systemctl enable mysqld 
systemctl disable mysqld

修改 root 登陆密码

1

2

mysql 安装完成后,在 /var/log/mysql.log 文件中给 root 生成了一个默认密码

grep 'temporary password' /var/log/mysqld.log

初次登陆:mysql -u root -p      输入密码

修改: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  远程连接需修改

2.tomcat,nginx,redis 下载安装

tomcat 安装(多个)   https://blog.csdn.net/weixin_41004350/article/details/78492500

 http://tomcat.apache.org/download-80.cgi  复制下载连接 wget 获取 tar -zxvf 解压 mv 重命名

端口修改:/tomcat1/conf/server.xml         需要修改三个端口

环境变量:/etc/profile  对每个tomcat进行配置

export CATALINA_HOME=/usr/local/apache-tomcat-7.0.79
export CATALINA_BASE=/usr/local/apache-tomcat-7.0.79
export TOMCAT_HOME=/usr/local/apache-tomcat-7.0.79

tomcat:/tomcat1/bin/catalina.sh  添加     (第一个不用修改)

export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2

Tomcat 启动:/tomcat1/bin/startup.sh

             关闭:/tomcat1/bin/shutdown.sh

端口修改注意不能重叠,可用netstat -ntlp 查看端口情况,kill  -9 -端口号 结束进程

不要启动过后立刻shutdown,会出现tomcat未运行错误。

Nginx 

下载nginx地址:http://nginx.org/en/download.html

补充(个人经验):用同一ip不同端口代表不同主机时,先做好nginx.conf配置开启nginx ,再启动tomcat,端口会被nginx调用。

如果某一地址配置负载均衡后,再做反向代理,将会转到负载均衡的页面,配置负载均衡的端口不被访问。

netstat -ntlp 可以看到 nginx的端口占用情况。

先安装依赖:

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

进行configure配置

cd /usr/local/nginx-1.8.1 && ./configure --prefix=/usr/local/nginx

编译、安装

make && make install

安装完毕后,将在/usr/local/下看到nginx文件夹,nginx文件夹中有四个文件夹:

conf 存放配置文件

html 存放静态页面

logs 存放日志文件

sbin 执行文件

/usr/local/nginx/sbin/nginx             //启动
/usr/local/nginx/sbin/nginx -s stop     //关闭
/usr/local/nginx/sbin/nginx -s reload   //重启
附带:查看启动状态
    ps -ef | grep nginx

/usr/local/nginx/conf/nginx.conf   文件配置

      #开启进程数 <=CPU数 
      worker_processes  1;
      #自定义错误日志保存位置,全局设置,默认logs/error.log
      #error_log  logs/error.log;
   #每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024
      events {
          worker_connections  1024;
      }
      #
      http {
          #文件扩展名与文件类型映射表
          include       mime.types;
          #默认文件类型
          default_type  application/octet-stream;
          #自定义日志文件输出格式 全局设置
          log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
          #自定义全局请求日志保存位置,全局设置,默认logs/access.log, 定义格式:文件存储位置 + 日志输出格式
          #access_log  logs/access.log  main;
          #打开发送文件
          sendfile        on;
          #连接超时时间
          #keepalive_timeout  0;
          keepalive_timeout  65;
          #打开gzip压缩
          #gzip  on;
          #配置虚拟主机,基于域名、ip和端口,可以配置多个server
          server {
              #监听端口,可以是ip:port 或者 port
              listen       80;
              #监听域名,可以是ip或者域名,server_name有三种匹配方式:精准匹配(www.domain.com)、通配符匹配(*.domain.com 、www.*)、正则表达式匹配(~^(?.+)\.domain\.com$)
              server_name  localhost;
              #自定义请求日志,局部,当前server有效
              #access_log  logs/host.access.log  main;
              #错误页面及其返回地址
              error_page   500 502 503 504  /50x.html;
              #请求匹配,同样有精准(= /index.html)、模糊(~ index)、正则,允许配置多个location
              location / {
                  #返回根路径地址(相对路径:相对于/usr/local/nginx/)
                  root   html;
                  #默认主页
                  index  index.html index.htm;
              }
              #
              location /html {
                  root   html;
                  index  index.html index.htm;
              }
      }

nginx 反向代理:

location / {       //在对应的 location 中配置,配置中的监听端口为80

      proxy_pass http://127.0.0.1:8081  #我这里tomcat的端口为8081
      proxy_set_header real_ip $remote_addr;  //real_ip 设置变量名,可以通过web端
                                                <%=request.getHeader("real_ip") %>获取
      root   html;
      index  index.html index.htm;
}

动静分离:

    //动态资源
     location ~ \.(jsp|jspx|do|action)(\/.*)?$ { 
    //动态请求转发到tomcat服务器,匹配方式可自定义 
        #设置真实
        ip proxy_set_header real_ip $remote_addr; //real_ip 设置变量名,可以通过web端获取 
        proxy_pass http://127.0.0.1:8080; 
    } 

    //静态资源 
    location ~ .*\(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|
                doc|ppt|pdf|xls|mp3|wma)$ { 
         //静态资源到nginx服务器下static(具体目录自定义)获取 
         root static; 
    }

负载均衡:

upstream balance {
    #weight 值越大,负载权重越大,请求次数越多
    #max_fails 允许请求失败的次数,超过失败次数后,转发到下一个服务器,当有max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查 
    #fail_timeout 指定时间内无响应则失败, 在以后的fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器 
    #down 表示当前server不参与负载
    #backup 其他非backup server都忙的时候,backup server作为备用服务器,将请求转发到backup服务器 


    server 192.168.2.190:8081 weight=1 max_fails=2 fail_timeout=30s; 
    server 192.168.2.39:8081 weight=1 max_fails=2 fail_timeout=30s;
    server 127.0.0.1:8081 down;
    #server 192.168.58.152:8080 backup;
}
注意upstream放在http下,和server为同级

负载均衡几种策略:https://www.cnblogs.com/andashu/p/6377323.html

Redis 

参考:https://www.cnblogs.com/renzhicai/p/7773080.html

            https://www.cnblogs.com/bestmystery/p/6371229.html

官网下载:https://redis.io/

需安装gcc : yum -y install gcc-c++

tar -zxvf redis-4.0.5.tar.gz
//切换到src
cd redis-4.0.5/src
//编译
make MALLOC=libc
//安装
make install

按参考改完:

启动: service redis_6379 start        |        /etc/init.d/redis_6379  start

停止: service redis_6379 stop        |        /etc/init.d/redis_6379  stop

客户端:redis-cli shutdown

               redis-cli -h 127.0.0.1 -p 6379  -a  设置的密码  

然后就是jedis的使用。

先这样吧,有空再补充。。。

猜你喜欢

转载自blog.csdn.net/qq_40567146/article/details/82177956
今日推荐