目录
导语
0.1 阿里云服务器安全组设置
1.1 mysql的安装
1.2 mysql的远程访问
2.1 java环境的配置
3.1 安装chrome
3.2 安装chromedriver驱动
4.1 java启动谷歌浏览器的参数设置
4.2 Ubuntu系统运行java程序
5.1 参考文章
项目需要在云服务器上使用命令行安装mysql java chrome,这里记录一下命令过程,以及需要注意的问题。
进入阿里云控制台,进入服务器示例,点击安全组,配置安全组规则
做如下配置
手动添加或者快速添加,开放端口,3306为mysql端口,9222 9515为谷歌所需端口
不开放端口mysql无法远程链接,出入方向都设置一下。
mysql可以直接在ubtntu上下载,但是下载出来默认是最新版本,现在是mysql 8.0.32 版本(2023-3-2),需要安装其它版本请参考How to Install MySQL 5.7 on Ubuntu 22.04 LTS (fosstechnix.com) 或者在服务器上安装宝塔界面,宝塔可以提供mysql5.7的版本,并且支持一键安装。
首先,通过运行以下命令确保所有系统包都是最新的 apt
终端中的命令。
sudo apt update
sudo apt upgrade
然后运行以下命令将最新版本的 MySQL 8 安装到 Ubuntu 系统
sudo apt install mysql-server
现在就已经安装好mysql的最新版本了,使用mysql -V命令查看版本
mysql -V
如下所示,返回mysql版本号即为安装成功
mysql Ver 8.0.32-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
mysql 8对于远程访问做了修改,root用户无法远程链接,需要新建一个用户,授予远程访问权限,使用该用户远程访问服务器上的mysql。
1.2.1 首先,使用以下命令进入mysql
mysql -u -root -p #以root用户进入mysql,回车后输入初始密码root
#输入密码后再输入
use mysql; #进入mysql数据库
1.2.2 在创建用户前,确认下密码验证规则,一般必须大于等于8位
#显示创建用户的验证条件
SHOW VARIABLES LIKE 'validate_password%';
1.2.3 创建用户
%表示所有ip都可以使用该用户,这里用户名为getuser 密码为12345678
#创建用户
CREATE USER 'getuser'@'%' IDENTIFIED BY '12345678';
1.2.3 授予权限
#授权某个用户所有数据库所有权限
GRANT ALL PRIVILEGES ON *.* TO "用户名"@"IP/localhost/%";
#授予某个用户所有数据库读权限
GRANT SELECT ON *.* TO '用户名'@'%或者IP' ;
#授予某个用户某个数据库写权限
GRANT INSERT ON `数据库名`.* TO '用户名'@'%或者IP';
还有其它权限如:
ALL PRIVILEGES: 所有权限
INSERT: 允许用户插入权限
SELECT: 允许用户读权限.
UPDATE: 允许用户更新权限
CREATE: 允许用户创建表和数据库权限
DELETE: 允许用户删除表中的行数据权限
DROP: 允许用户删除数据库和表权限
1.2.4 刷新权限
使用这条命令刷新权限
#刷新权限
flush privileges;
到这一步一般都可以进行连接了,如果还不可以,就下载xftp 下载地址:XFTP - NetSarang Website (xshell.com)
建议xftp和xshell都在这个网站下载好,xftp是文件图形化管理,xshell是命令行远程连接。
这个网站下载时需要提供邮箱,然后它会把安装包发送到你的邮箱内。
1.2.5 修改配置
在xftp中打开etc文件夹下的mysql文件夹
进入这文件夹,打开mysqld.cnf文件
将这里修改成0.0.0.0,所有ip都可以访问,如果没有,就手动添加保存。
bind-address = 0.0.0.0
mysqlx-bind-address = 0.0.0.0
skip-networking = 0
现在就可以进行访问了,如果还不可以,重启服务器刷新一下。
1.2.6 mysql命令
#查看所有用户
select host,user from user;
#查看远程端口启动
show variables like 'skip_networking';
#创建用户
CREATE USER 'getuser'@'%' IDENTIFIED BY '12345678';
#读权限
GRANT SELECT ON *.* TO 'getuser'@'%' ;
#所有权限
GRANT ALL PRIVILEGES ON *.* TO "setuser"@"%"
grant all on *.* to 'setuser'@'%';
#显示所有权限
SHOW GRANTS FOR 'getuser'@'%';
SHOW GRANTS FOR 'root'@'%';
#刷新权限
flush privileges;
2.1.1 刷新系统源安装包,并安装wget命令
sudo apt update
sudo apt install -y curl wget
2.1.2 访问 JDK 18 发行版页面 获取最新的存档
curl -O https://download.java.net/java/GA/jdk18/43f95e8614114aeaa8e8a5fcf20a682d/36/GPL/openjdk-18_linux-x64_bin.tar.gz
2.1.3 使用 tar 命令提取下载的文件
tar xvf openjdk-18_linux-x64_bin.tar.gz
2.1.4 将生成的文件夹移动到 /opt 目录
sudo mv jdk-18 /opt/
2.1.5 配置 Java 环境
sudo tee /etc/profile.d/jdk18.sh <
获取配置文件和检查命令java
source /etc/profile.d/jdk18.sh
这样就安装和配置好了
2.1.6 检查是否成功
使用以下命令
java -version
如果如下返回java版本号即为成功
openjdk version "18" 2022-03-22
OpenJDK Runtime Environment (build 18+36-2087)
OpenJDK 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)
3.1.1 使用wget下载最新的.deb软件包
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
3.1.2 更新软件包
sudo apt-get update
3.1.3 安装chrome
sudo apt install ./google-chrome-stable_current_amd64.deb
这里就安装成功了,使用一下命令查看版本号
google-chrome --version
如果出现版本信息即为安装成功
Google Chrome 110.0.5481.177
3.2.1 注意要和自己安装的chrome的版本一致,可以在ChromeDriver仓库中找到相对应的版本,
我这里是110.0.5481.177版本,对应的chromedriver版本为110.0.5481.77
3.2.2 使用以下命令进行安装,注意版本号
wget https://chromedriver.storage.googleapis.com/110.0.5481.77/chromedriver_linux64.zip
3.2.3 解压chromedriver_linux64.zip到/usr/bin
unzip chromedriver_linux64.zip /usr/bin
3.2.4 查看chromedriver版本号,如果出现版本号即为成功
chromedriver --version
#服务器运行
e-chrome-stable --no-sandbox --headless --disable-gpu --dump-dom https://m.s.weibo.com/vtopic/detail?q=%23成都震感%23
#输入该命令返回网址代码
因为云服务器都是没有图形化界面的,所以需要对谷歌浏览器调用命令进行设置
//启动浏览器的参数列表
ArrayList command = new ArrayList<>();
command.add("--no-sandbox");//禁用沙盒模式 超级管理员权限
command.add("--headless");//无头模式 不显示google浏览器
command.add("--disable-gpu");//禁用gpu加速
command.add("--no-startup-window");//启动时不建立窗口
这里最重要的就是禁用沙盒启动root模式,使用无头模式。
4.1.2 常用参数设置
–user-data-dir=”[PATH]“ 自定义用户数据目录
–start-maximized 启动就最大化
–no-sandbox 取消沙盒模式
–single-process 单进程运行
–process-per-tab 每个标签使用单独进程
–process-per-site 每个站点使用单独进程
–in-process-plugins 插件不启用单独进程
–disable-popup-blocking 禁用弹出拦截
–disable-JavaScript 禁用javascript
–disable-Java 禁用Java
–disable-plugins 禁用插件
–disable-images 禁用图像
-incognito 启动进入隐身模式
–enable-udd-profiles 启用账户切换菜单
–proxy-pac-url 使用pac代理 [via 1/2]
–lang=zh-CN 设置语言为简体中文
–disk-cache-dir=”[PATH]“ 自定义缓存目录
–disk-cache-size= 自定义缓存最大值(单位byte)
–media-cache-size= 自定义多媒体缓存最大值(单位byte)
–bookmark-menu 在工具栏增加一个书签按钮
–enable-sync 启用书签同步
4.2.1 启动jar包
java -jar xxx.jar
这是最基本的jar包执行方式,但是当我们是当我们用ctrl+c中断或者关闭窗口时时,程序也会中断执行,当然关闭或重启虚拟机也同样如此。
java -jar xxx.jar &
&代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。
nohup java -jar xxx.jar &
使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
nohup java -jar xxx.jar >temp.log &
temp.out的意思是将日志输出重定向到temp.log文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。
nohup java -jar /demo/target/wbHotSearch-1.0-SNAPSHOT-jar-with-dependencies.jar &
4.2.2 查看进程与杀死进程
ps aux|grep xxx.jar
ps -ef | grep java
pkill -9 chrome
kill -9 pid
强制杀死pid进程 pid为进程名,可以使用ps -ef命令查看所有进程
怎样在 Ubuntu 22.04 LTS 上安装 MySQL | 月灯依旧 (bynss.com)
Mysql 8.0创建用户并授权_mysql8 创建用户_Rocket MAN的博客-CSDN博客
Ubuntu20.04下部署mysql并配置远程连接_SunYihao555的博客-CSDN博客
Install Oracle Java 18 (OpenJDK 18) on Ubuntu / Debian | ComputingForGeeks
云服务器(ubuntu系统)安装chrome chromedriver_如何在云服务器上安装浏览器_HomerHope的博客-CSDN博客
Ubuntu20.04安装chrome和chromedriver_ubuntu 安装chromedriver_小机double的博客-CSDN博客
ubuntu16.04上安装及使用selenium、chrome、chromedriver_书川的博客-CSDN博客
服务器上使用selenium安装chrome和webdriver,以及可能报的错误_webdriver.chrome(chrome_options=chrome_options) 报错_村里最后一个农民的博客-CSDN博客
linux如何运行jar包、查看jar包进程、停止jar包_执行jar包,怎么看它是哪个进城_w_xiao_wang的博客-CSDN博客
How to Install MySQL 5.7 on Ubuntu 22.04 LTS (fosstechnix.com)