阿里云部署
更多文章欢迎访问个人博客 www.herobin.top
阿里云部署
阿里云服务器
1.阿里云初始化与执行环境安装
今天买了一年的阿里云服务器
开始安装需要的软件,通过在阿里云网站管理控制台的远程连接或者自己通过ssh命令连接到远程服务器
sudo ssh [email protected]
接下来需要安装服务器上需要的一系列软件:
1.1 JDK(这里选择的是JDK1.8)
下载地址为
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择的是jdk-8u144-linux-x64.rpm
1.2 Tomcat 8
下载地址为
http://tomcat.apache.org/download-80.cgi#8.0.46
选择的是apache-tomcat-8.0.46.tar.gz
1.3 Mysql(这里选择的是Mysql5.7)repo源,后通过centos自带的yum安装
下载的地址为
https://dev.mysql.com/downloads/repo/yum/
这里选择mysql57-community-release-el7-11.noarch.rpm
1.4 Redis(可选,最好预先安装上,这里选择的版本为4.0.2)
下载地址为
https://redis.io/download
这里选择redis-4.0.2.tar.gz
将上面的软件都下载到本地,然后通过scp命令上传到服务器
scp -r /Users/binzhang/Documents/Images//1.jpg [email protected]:.
此时进到远程服务器可以看到已经上传的软件
安装JDK
Java程序需要运行在JRE里边,所以要安装JDK
添加可执行权限
chmod +x jdk-8u191-linux-x64.rpm
安装RPM软件包
rpm -ivh jdk-8u191-linux-x64.rpm
查看java的版本信息java -version
,若出现版本信息则成功
安装Mysql
安装用来配置mysql的yum源的rpm包
rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
安装mysql
yum install mysql-community-server
开启mysql服务service mysqld start
mysql安装成功后创建的超级用户root@localhost
的密码会被存储在/var/log/mysqld.log
,可以使用如下命令查看密码
grep 'temporary' password /var/log/mysqld.log
使用mysql生成的root@localhost
用户和密码登录数据库,并修改其密码,具体命令:
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
注意这里其实遇到了一个问题,在本地远程连接阿里云数据库新建数据库显示账号没有权限,这里设置全部权限的语句为
use mysql;
# 创建新用户并赋权
# 参数说明
# username:你将创建的用户名 这里是herobin
# host:指定该用户在哪个主机上可以登录,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登录,可以使用通配符%
# password:该用户的登录密码,密码可以为空,如果为空则该用户可以不需要密码登录服务器
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
grant all privileges on *.* to 'herobin'@'%';
flush privileges;
开启远程连接
通过阿里云控制台开放3306端口
在阿里云控制台咱们的实例页面下面选择安全组->配置规则
进入到规则配置页面之后,咱们可以看到目前只有22端口和3389端口支持远程访问,咱们还需要额外开通80端口(微信公众号用),3306端口(mysql)以及6379端口(redis)
之后便能在我们本地通过调用mysql指令远程登录阿里云服务器上的mysql server中,
mysql -uwork -P3306 -h47.104.1.235 –p
//本机远程登录mysql指令
注意这里踩了一下坑,在配置好后,我用本地MySQLWorkbench连接服务器数据库显示失败
Failed to Connect to MySQL at 101.132.138.185:3306 with user herobin
Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found
原因:密码加密方式【caching_sha2_password】,客户端不支持。
在数据库服务器上登录并修改登录方式:
ALTER USER ‘herobin’@’%’ IDENTIFIED WITH mysql_native_password BY ‘root’;
连上了哈哈哈哈哈哈。
安装redis
redis安装很简单,首先解压redis安装包
tar -zxvf redis-4.0.2.tar.gz
设置redis以支持远程登录
vi redis-4.0.2/redis.conf
将bind 127.0.0.1这句话用井号注释掉,这样就能支持远程连接了
此外,还需要给redis.conf添加配置以支持redis作为守护进程一直跑在后台需要加入daemonize yes
安装redis
去到解压后的目录里
cd redis-4.0.2
make
//安装redis
启动redis服务
src/redis-server redis.conf
redis连接测试
通过redis-cli连接到redis服务器
src/redis-cli
当输入ping得到pong的回应之后,证明redis配置已经完成
安装tomcat8
解压tomcat压缩包
tar -zxvf apache-tomcat-8.0.46.tar.gz
启动tomcat
./apache-tomcat-8.0.46/bin/startup.sh
1.在服务器上发布并运行自己的web project
修改tomcat默认启动端口,从8080修改为80端口,便于微信登录
vi apache-tomcat-8.0.46/conf/server.xml
重启tomcat
./apache-tomcat-8.0.46/bin/shutdown.sh
./apache-tomcat-8.0.46/bin/startup.sh
把项目里的mysql配置,redis配置(如果有的话)修改为阿里云服务器对应的配置(即ip,端口,密码等配置修改为服务器里安装好的这些软件的对应的配置)
打出自己项目的war包
export -> war file
将export出来的war包上传到服务器tomcat的webapps目录下
scp o2o.war [email protected]:/root/apache-tomcat-8.5.34/webapps
这里要注意上面的命令是上传一个文件的方式,如果是上传目录(文件夹)会报错
not a regular file
这时要加上-r
就可以了
scp -r upload [email protected]:/root/shopImages
上传成功后,没过几秒tomcat便会在webapps目录下自动从项目war包中解析出项目工程目录来,之后通过ip+请求路径的形式便能访问到自己的项目(因为已经设置成80端口),这是http访问默认的端口,所以不需要在URL添加端口信息了。
此时输入http://101.132.138.185/o2o/frontend/index
已经可以访问页面了
遗留问题:页面图片获取不到
图片问题找到了:
我们在前端访问服务器上的图片除了数据库中的图片路径还应该加上我们tomcat在服务器上部署的路径才能访问到目标路径。