如何在Linux上配置运行一个完整项目

1. 上传jdk和tomcat的安装文件到指定文件夹
   mkdir /usr/local/mytools 
2.解压JDK压缩包
     cd /usr/local/mytools
     rz上传
     tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local                  解压到指定文件夹
3.配置JDK环境变量
     vim /etc/profile
     #打开配置文件并在文件的最后添加如下内容(注意:=两边没有空格)
     #java environment
     export JAVA_HOME=请修改JDK解压路径
     export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
     export PATH=$PATH:${JAVA_HOME}/bin
(请修改JDK解压路径----------不知道打开一个新的会话(1)跳到 cd /usr/local/jdk1.8.0_151/路径 (2)pwd (3)复制路径即可)
4.设置环境变量生效
     source /etc/profile
5.查看环境变量是否配置成功
     java -version
6.跳转到
cd /usr/local/mytools/
7.解压tomcat到指定路径
     tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local 
8.--以上步骤完成后,还是无法发布项目的
    1.添加管理员、密码、权限
      cd /usr/local/apache-tomcat-8.5.20/conf  
(跳回上级目录cd ..  然后跳到 cd bin目录配置防火墙)
    2#配置防火墙
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
    firewall-cmd --reload  
(调回上个目录cd ..)
  cd /usr/local/apache-tomcat-8.5.20/conf  
  vim tomcat-users.xml

然后在<tomcat-users>标签中插入以下内容(即添加管理员、密码、权限)
      <role rolename="manager-gui"/> 
      <user username="admin" password="1234" roles="manager-gui"/>
  3.允许admin远程访问tomcat
      此步骤完成后manager应用仍然会拒绝访问,因为tomcat8.5以后在manager应用中,默认只允许本机访问
      cd /usr/local/apache-tomcat-8.5.20/webapps/manager/META-INF
      vim context.xml 

  将Valve标签注释即可       
      <Context antiResourceLocking="false" privileged="true" >
           <!--将下面的一行代码注释即可
           <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
           -->
           <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
      </Context>

回到bin目录
cd /usr/local/apache-tomcat-8.5.20/bin/
9.tomcat自启动
    
    cd /usr/lib/systemd/system
    rz 上传tomcat.service
    vim tomcat.service
    修改路径usr/local
    将资料中的tomcat.service中的内容复制进来,并修改tomcat和jdk的路径(重要!重要!重要!)


    systemctl enable tomcat  //加入到自启动  
    systemctl daemon-reload //重新加载
    systemctl start tomcat   //启动tomcat服务
    systemctl stop tomcat    //停止tomcat服务
    systemctl restart tomcat //重启tomcat服务
    systemctl status tomcat  //查看tomcat服务状态

10.克隆四台虚拟机
两台tomcat
一台mysql
一台nginx

11.mysql安装与配置


   1.官网下载MySQL5.7.30的RPM安装包

   2.卸载CentOS7系统自带的mariadb

     #先检查有没有安装mariadb 
     rpm -qa|grep mariadb

     #我有个mariadb-libs-5.5.56-2.el7.x86_64,把它给卸载了 
     #mariadb-libs-5.5.56-2.el7.x86_64
     rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

     #再次查看,mariadb已删除
     rpm -qa|grep mariadb

   3.安装libaio、perl、net-tools库,要不就会报错 balabala... 
     yum -y install libaio perl net-tools

   <--
	4.rz上传安装包到/usr/local/mytools

     cd /usr/local/mytools
     rz 上传mysql安装包
   -->

   5.建个目录并将安装文件解压到此目录

     mkdir /usr/local/mysql-5.7.30
     cd /usr/local/mytools 
     tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-5.7.30

   6.进入目录准备安装
     cd /usr/local/mysql-5.7.30
     #开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
     rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
     rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
     rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
     rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
   
   7.启动mysqld服务
     systemctl start mysqld

     注1:安装完成后的服务名叫mysqld
          systemctl start mysqld

 8.登录mysql修改密码
     #查询生成的临时密码
     grep "password" /var/log/mysqld.log

     #登录mysql
     mysql -u root -p 
     #因为是本地测试环境,所以想把密码改的简单点
     #查看mysql初始的密码策略:
     SHOW VARIABLES LIKE 'validate_password%';
     #设置密码校验策略(0 or LOW),要不密码太LOW不让你过
     set global validate_password_policy=0;
     #设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
     set global validate_password_length=4;
     #更新密码
     set password = password("1234");
     #输入后使修改生效还需要下面的语句
     FLUSH PRIVILEGES;
     #可以退出,试试用新密码重新登录
     exit
 9.修改mysql的字符集为utf8
     #登陆mysql之后,可以通过如下命令查看mysql的字符集
     show variables like 'chara%';
     exit;
#以下命令为linux命令
     #修改配置文件设置 MySQL 字符集为 UTF-8
     vi /etc/my.cnf

  [mysqld]
     #在mysqld最下面加入二行代码
     character-set-server=utf8 
     collation-server=utf8_general_ci

   systemctl restart mysqld  //重启服务


10.Centos7下无法远程连接mysql数据库  (需要再执行一遍)
#设置密码校验策略(0 or LOW),要不密码太LOW不让你过
     set global validate_password_policy=0;
     #设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
     set global validate_password_length=4;
     #更新密码
     set password = password("1234");
     #输入后使修改生效还需要下面的语句
     FLUSH PRIVILEGES;
 1.数据库没有授权,允许以root身份远程登录mysql
       GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
       #输入后使修改生效还需要下面的语句
       FLUSH PRIVILEGES;
     2.服务器防火墙没有开放3306端口 
       firewall-cmd --zone=public --add-port=3306/tcp --permanent
       firewall-cmd --reload


12.安装配置nginx

   1.添加 nginx 官方提供的 yum 源(需要联网且时间较长)
     rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm

   2.使用 yum 安装 nginx
     yum install nginx

     注1:yum方式安装nginx,它的安装根目录为/etc/nginx
     注2:查看nginx版本
          rpm -qa | grep nginx

   3.启动及设置开机启动
     systemctl start nginx.service
     systemctl enable nginx.service

   4.设置防火墙开放 80 端口
     firewall-cmd --zone=public --add-port=80/tcp --permanent
     firewall-cmd --reload && firewall-cmd --list-port

   5.测试 nginx 是否可被访问,应该显示nginx的欢迎界面
     http://192.168.183.144:80



   6. 将SPA项目压缩并上传到/usr/nginx/html目录,再解压
   mkdir -p /usr/nginx/html
   cd /usr/nginx/html
   rz crm.zip
   unzip crm.zip
 重启nginx和查看nginx的状态
  systemctl restart nginx && systemctl status nginx 

跳到nginx   cd /etc/nginx/
   复制一份:cp nginx.conf nginx.conf.bak (以免报错)ll 查看

vim nginx.conf

   
   #重新修改window中的hosts文件
   注1:通过虚拟域名访问,还要修改window的hosts文件添加虚拟域名映射,文件位置如下:
           C:\Windows\System32\drivers\etc\hosts
           另外,此文件有可能出现由于当前用户权限不够,出现无法修改的情况?解决方案
           将此文件复制到d硬盘任一目录,修改后,再复制替换C:\Windows\System32\drivers\etc\hosts原文件  

   
  7.通过nginx对tomcat进行集群及代理
  #进入conf.d目录,并对nginx.conf进行备份
   跳到nginx   cd /etc/nginx/
   复制一份:cp nginx.conf nginx.conf.bak (以免报错)ll 查看

  #修改vim nginx.conf,添加tomcat集群和动态代理配置

《-------
#添加tomcat集群
 upstream  tomcats {
        server    192.168.81.131:8080  weight=1;
        server    192.168.81.132:8080  weight=2;
    }

#动态代理配置
server {
        listen       80;
        server_name  www.zking.com;
        root         /usr/nginx/html/crm; #将要访问的网站的根目录,nginx节点会自动继承父节点的配置(新建会话 找到cd /usr/nginx/html/crm/ 然后pwd复制路径)

        location / {
                try_files $uri $uri/  /index.html;
        }
        location  ^~/api/ {
                proxy_pass http://tomcats/;
        }

     }
-----》

  
重启nginx和查看nginx的状态
  systemctl restart nginx && systemctl status nginx 
  
  注1:查看nginx的访问日志和错误日志
       /var/log/nginx/access.log
       /var/log/nginx/error.log 

  注2:查看nginx版本
       rpm -qa | grep nginx

  8.设置权限问题

  setsebool -P httpd_can_network_connect 1



 


版权声明:本文为weixin_50887663原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。