环境 Centos 7
文章目录
JDK
安装
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
使用yum的方式安装的话比较方便,默认路径在 /usr/lib/jvm/
下,我们先切换到/usr/lib/jvm/
,为配置JAVA_HOME
做准备
cd /usr/lib/jvm/
ll | grep java-openjdk
可以看到如下输出结果
lrwxrwxrwx 1 root root 34 Feb 23 19:39 java-openjdk -> /etc/alternatives/java_sdk_openjdk
那么这个etc/alternatives/java_sdk_openjdk
就是JAVA_HOME了。
JAVA_HOME配置
vim /etc/profile
在文件开头插入如下内容
# JAVA env
export JAVA_HOME=/etc/alternatives/java_sdk_openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
保存退出,并让其生效:
source /etc/profile
测试 (应输出 /etc/alternatives/java_sdk_openjdk )
echo $JAVA_HOME
安装 Tomcat 9
至于Tomcat,你可以使用 yum install -y tomcat
直接安装,然后用systemctl
命令启动/停止/查看状态 Tomcat。不过yum源默认的Tomcat版本只有7,接下来介绍安装高版本的Tomcat。
下载tar.gz
源码
version 7,8,9 任选一个就好
cd /path/to/your/download
# version 9
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
# version 8
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.51/bin/apache-tomcat-8.5.51.tar.gz
# version 7
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.100/bin/apache-tomcat-7.0.100.tar.gz
解压Tomcat到安装目录
tar -zxvf apache-tomcat-9.0.31.tar.gz -C /path/to/your/install-dir
# 我的安装路径是/opt,所以解压之后
cd /opt/apache-tomcat-9.0.31/conf
vim server.xml
# 将8080改成80 全文只有一个8080,文件不长 慢慢找
启动 测试
至此 你可以使用
sh /opt/apache-tomcat-9.0.31/bin/startup.sh
来启动Tomcat. 现在测试一下服务器,由于还没有配置安全组和开放端口,这里就在终端测试,运行:
wget 你的服务器IP
ll
如果当前目录有一个index.html
,说明Tomcat成功启动并运行。
使用systemctl
来管理Tomcat服务
鉴于使用sh /path/to/tomcat/bin/startup.sh
就可以启动tomcat服务器,所以这一步也可以不用配置,不过为了方便的重启tomcat,检查tomcat状态,所以我做了这一步。
(注意,使用yum install -y tomcat
的话,会自动加入 systemd 服务组)
一、编辑 tomcat.sh
vim /etc/profile.d/tomcat.sh
# 编辑以下内容
export JAVA_HOME=/etc/alternatives/java_sdk_openjdk
export CLASS_PATH=.:$JAVA_HOME/lib
export CATALINA_HOME=/opt/apache-tomcat-9.0.31
export CATALINA_BASE=/opt/apache-tomcat-9.0.31
export PATH=$PATH:$JAVA_HOME/bin:$CATLINA_HOME:/bin
保存退出,使其生效
source /etc/profile
二、配置Tomcat启动参数
vim /opt/tomcat8/bin/setenv.sh
# 输入以下配置选项(tomcat有很多配置选项)
# 设置tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
# 设置java参数,提高性能
JAVA_OPTS="-server -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
保存退出,修改其权限
chmod a+x /opt/apache-tomcat-9.0.31/bin/setenv.sh
二、编辑tomcat.service
vim /usr/lib/systemd/system/tomcat.service
输入以下内容
[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/opt/apache-tomcat-9.0.31/tomcat.pid
ExecStart=/opt/apache-tomcat-9.0.31/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=root
Group=root
[Install]
WantedBy=multi-user.target
# 保存退出,设置tomcat开机启动
systemctl enable tomcat
# 加载服务
systemctl daemon-reload
接下来就可以通过 systemctl
管理tomcat服务了
systemctl start tomcat #启动服务
systemctl stop tomcat #停止服务
systemctl restart tomcat #重启服务
systemctl enable tomcat #增加开机启动
systemctl disable tomcat #删除开机启动
systemctl status tomcat #查看服务命令
systemctl list-unit-files --type service #查看全部服务命令
安装MySQL 8.0
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装yum源
yum localinstall mysql80-community-release-el7-3.noarch.rpm
# 更新yum源
yum clean all
yum make cache
# 开始安装MySQL
yum install mysql-community-server
# 启动MySQL
systemctl start mysqld
# 启动成功后可以查看初始化密码随机生成的
cat /var/log/mysqld.log | grep password
# 输出:A temporary password is generated for root@localhost: )!W!xGnE8fHG
# 所以你的临时密码就是:)!W!xGnE8fHG
# 登录MySQL修改mysql用户密码
mysql -u root -p
# 必须改密码,不然用不了MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新的密码';
# 允许远程设置
mysql> use mysql;
mysql> update user set host='%' where user='root';
# 授权用户名的权限,赋予任何主机访问数据的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
安装完成 添加用户
也可以不用添加用户,直接使用 root 账户登录
mysql> CREATE USER 'user_name'@'%' IDENTIFIED BY 'user_password';
值 | 含义 |
---|---|
% | 任何主机都可以访问你的MySQL |
12.14.06.12 | 只允许IP为12.14.06.12的主机访问 |
12.xxx.xxx.xxx | IP 段 |
localhost | 仅本机 |
用户权限
#允许myuser用户使用password密码从任何主机连接到mysql服务器操作任何数据库中的任何表、视图等等
mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'password'
#允许IP段192.168.23.xxx的(理论上256个)用户以user1的身份增改查数据库mydb中的表table_test
mysql> GRANT INSERT,UPDATE,SELECT ON mydb.table_test TO 'user1'@'192.168.23.*' IDENTIFIED BY 'mypassword';
mysql> FLUSH PRIVILEGES;
远程连接MySQL
至此,在云主机上可以链接数据库了。接下来配置远程访问
防火墙端口管理
开放端口
常见端口及含义
port | connotation |
---|---|
20/21 | FTP,文件传输协议 File transfer protocol |
22 | SSH,安全shell协议 Secure Shell |
3306 | 远程登录协议 |
80 | HTTP,网络端口 |
443 | HTTPS,安全模式 |
其他端口及含义请参考:http://www.bejson.com/doc/port/
比如我想要远程链接数据库,于是我就要开放3306端口:
systemctl start firewalld # 可能需要先启动防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 建议把上面列出来的端口都开放了。
# 输出 : success
开放完之后,重新载入,使其生效
firewall-cmd --reload
查看开放了哪些端口:
firewall-cmd --zone=public --list-ports
关闭端口:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 重载生效
firewall-cmd --reload
还没结束
一些云计算公司比如阿里云,需要配置安全组,才能实现远程访问
配置安全组
登录云服务器控制台
搜索并前往安全组配置
创建安全组,没有专用网络就创一个
完成之后,配置规则
右上角快速创建规则
按需勾选
确定,提交,完成。
接下来在本地服务器访问你的云主机(可能要等很久)
看到这个代表环境已经完全搭建完成。
为Tomcat配置HTTPS访问
有强迫症的话还可以配置https前缀,很简单,这里大概写一下,并给出我的 server.xml
文件
SSL证书(免费)购买入口
剩余部分请参考:https://www.jb51.net/article/142208.htm
我的 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="443"/>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreType="PKCS12"
keystoreFile="/opt/apache-tomcat-9.0.31/conf/tomcat.pfx"
keystorePass="txt文件里的密码"
clientAuth="false" sslProtocol="TLS" />
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" 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 "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
完成
重启tomcat
现在,在浏览器里面使用https访问。(初次访问,响应时间会很长,可能与服务器配置有关)
其他
安装高版本node
curl --silent --location https://rpm.nodesource.com/setup_13.x | sudo bash
sudo yum install -y nodejs
yum clean all
node -v
npm -v
# 安装hexo
npm install hexo-cli -g
安装配合Xshell的上传下载工具
yum install lrzsz
上传:
rz
下载:
sz index.html
完成