搬瓦工BandwagonHost,linux,java-web环境搭建

*修改搬瓦工自动生成的密码

一、安装jre运行环境:

1.首先把 jdk-8u171-linux-x64.tar.gz 下载到本地,然后用putty的pscp小工具把它上传到linux的usr目录,代码如下(cmd命令行)

pscp -P 服务器端口号 jdk-8u171-linux-x64.tar.gz的本地路径 root@服务器ip:usr/web

然后根据提示输入密码,即可开始上传,上传速度可能不是很理想,让我上传了很久。

*使用wget方式直接下载jdk到linux目录

搬瓦工默认没有安装wget命令,先安装wget:

yum -y install wget

再下载jdk(速度贼快,10,秒就下载完了!)

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz

2.把jre文件解压出来(tar解压命令

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

给文件夹重命名:

mv jdk1.8.0_171 jdk8

3.编辑/etc/profile文件,在后面追加

# jdk configure
JAVA_HOME=/usr/web/jdk8
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib
export JAVA_HOME PATH CLASSPATH

4.使用source命令,重新执行刚修改的profile文件,使之立即生效,而不必注销并重新登录。

source /etc/profile

5.测试jre环境时候配置成功

java -version

二、安装tomcat:

1.首先把 apache-tomcat-8.5.32.tar.gz 上传到/usr/web

pscp -P 服务器端口号 apache-tomcat-8.5.32.tar.gz的本地路径 root@服务器ip:usr

*使用wget方式把tomcat压缩包下载到linux目录(速度一般,100多k/s,比本地上传快多了!)

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz

2.把 apache-tomcat-8.5.32.tar.gz 解压到当前目录/usr/web

tar -zxvf apache-tomcat-8.5.32.tar.gz

给tomcat根目录文件夹重命名

mv apache-tomcat-8.5.32 tomcat8

3.在本地找一个 mysql-connector-java 的 jar包,上传到tomcat根目录/lib目录中,用于javaweb项目连接mysql数据库。

4.启动/关闭tomcat命令:

./startup.sh   启动
./shutdown.sh    关闭

三、绑定域名测试:

1.首先在域名控制面板把域名添加A记录解析到搬瓦工的vps的ip地址;

2.在linux的 /etc/hosts 文件末尾追加 127.0.0.1 域名

3.然后编辑tomcat的conf/server.xml,更好默认端口和默认访问域名,以后可能还会增加项目,所以大概配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="你的域名" appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
	<Context path="webapps下的项目根目录名(例如ROOT)" docBase="和path一样"/>
      </Host>

      <Host name="第二个项目域名" appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        <Context path="项目根目录名" docBase="项目根目录名"/>
      </Host>
    </Engine>
  </Service>
</Server>

四、安装mysql:

因为CentOS是 Red Hat 的分支免费版,所以下载 Red Hat 版本的mysql即可,前往下载

同时msyql又有service和client之分,一个是服务端功能,一个是客户端命令行功能操作数据库功能,因为我可能会在本地远程tomcat进行操作,所以这里就不在服务器上安装client功能了!(但是好像在安装service版本的时候,默认会帮你装上client)

但是,还是装bundle版本吧,后面再测试其它的。

用wget的方式下载mysql到linux目录

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-1.el6.x86_64.rpm-bundle.tar 

把 mysql-5.7.22-1.el6.x86_64.rpm-bundle.tar 解压出来(解压tar包, -xvf 即可

tar -xvf mysql-5.7.22-1.el6.x86_64.rpm-bundle.tar

解压出来会出现 9 个.rpm文件,我们只需要按顺序安装 4 个,因为他们有依赖关系。

再此之前先执行 (因为搬瓦工默认已经帮你装了一个5.*的mysql数据库)

rpm -qa|grep mysql

再看有没有mysql相关的文件夹,有就删了

find / -name mysql

然后你会看到 mysql-libs-5.1.73-7.el6.x86_64 这就是搬瓦工送的,呵呵。执行下面命令将其卸载

rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64

然后再往下继续操作:

那四个rpm是

rpm -ivh mysql-community-common-5.7.22-1.el6.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.22-1.el6.x86_64.rpm

rpm -ivh mysql-community-client-5.7.22-1.el6.x86_64.rpm

rpm -ivh mysql-community-server-5.7.22-1.el6.x86_64.rpm

(在执行上面几部都会有警告:Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY error: Failed dependencies:

执行到上面第四步,报错:

error: Failed dependencies: /usr/bin/perl is needed by mysql-community-server-5.7.22-1.el6.x86_64 libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.22-1.el6.x86_64

error: Failed dependencies: libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.22-1.el6.x86_64

终于错误都解决了,我们可以进行下一步了:

*哇!突然想到很久很久以前自己在 阿里云的ESC上搭建过一个javaweb运行环境,但是发现那时候自己在安装mysql的时候是强制安装不检查依赖关系的,故没出现这么多毛病,但是那个环境搭建起来确实可以运行项目,也没出过错!

接下来初始化mysql:

mysqld –initialize –user=mysql

问题又来了,接招:

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).

[ERROR] Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root!

接下来创建

解决完上面两个问题,记得再运行初始化mysql的命令!

查看 mysql 默认 root 用户密码,最下面一行 root@localhost: 后面就是root用户的初始密码

cat /var/log/mysqld.log

奇了怪了,里面居然没有默认密码,还有几个错,我又连续初始化了几次,在里面还是没有看到,却发现了很多珍贵的BUG

Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.

Too many arguments (first extra is ‘–initi alize’).

[Warning] InnoDB: New log files created, LSN=45790

不知道我现在运行 service mysqld start 命令会怎么样,我试试吧

[ERROR] –initialize specified but the data directory has files in it. Aborting.

我感觉,我已经对bug免疫了,咱们继续

service mysqld start

我去,mysql居然启动成功了,还帮我自动初始化了!但是密码在哪里

于是想到应该在 mysqld.log 文件里吧,功夫不负有心人,还真在这里面,但是密码默认为空!

哇!我怎么感觉我在讲故事,好长,好长,好长,现在马上晚上11点了,搞完就去休息了…

这回可以登录试试了,但是,但是,登录不进去,于是再次查看mysqld.log文件,才发现上面那个是登录日志(前面没输密码登过一次),而不是mysql初始化生成的账号密码!

linux mysql 忘记密码了,如何重设?

因为是用rpm方式安装的,所以可能mysql的各种目录没有集中在一起,比较不方便,后面再来弄吧!

1、数据库目录 /var/lib/mysql/
2、配置文件 /usr/share/mysql(mysql.server命令及配置文件)
3、相关命令 /usr/bin(mysqladmin mysqldump等命令)
4、启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)
5、数据库日志 /var/log/mysqld.log
6、my.cnf /etc/my.cnf

授权远程登录!

登录mysql后执行下面两条命令即可

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%'IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

没错!问题又来了,

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解决了密码问题,即可赋予远程mysql连接的权限

最终测试,本地也能脸上搬瓦工vps的mysql数据库了。

。。。


参考文档:

https://blog.csdn.net/NB6063/article/details/80417319

https://www.cnblogs.com/jycjy/p/9038145.html

https://www.cnblogs.com/nucdy/p/7727143.html


323 Clicks !

发表评论

电子邮件地址不会被公开。 必填项已用*标注