从零开始-在阿里云服务搭建java应用部署环境
准备工作
下载安装FinalShell方便本地连接云服务和上传文件
FinalShell下载地址: https://www.hostbuf.com/c/131.html
一、jdk安装和部署
jdk官方下载:https://www.oracle.com/java/technologies/downloads/
1.1 卸载系统自带的jdk
查看系统自带的jdk: rpm -qa | grep jdk
卸载自带的jdk:rpm -e --nodeps 要卸载的JDK
1.2 上传jdk并解压jdk
创建安装目录(习惯放在/usr/local目录下):mkdir java
上传jdk压缩包创建的目录下
解压jdk压缩包:tar -zxvf jdk压缩包
1.3 配置jdk环境变量
编辑profile文件:vim /etc/profile
在最后一行加上以下配置
JAVA_HOME=/usr/local/java/jdk1.8.0_371
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
让配置文件生效:source /etc/profile
二、mydql5.7数据库安装
mysql下载地址:https://downloads.mysql.com/archives/community/
2.1 卸载系统自带的mysql,Mariadb
查看系统自带的mysql: rpm -qa | grep mysql
卸载自带的mysql:rpm -e --nodeps 文件名称
查询所有的mysql文件夹:whereis mysql 和 find / -name mysql
删除相关目录:rm -rf 文件的绝对路径
2.2 创建mysql用户组和mysql用户
检查mysql组和用户是否存在:cat /etc/group | grep mysql 或者 cat /etc/passwd | grep mysql
创建mysql用户组:groupadd mysql
创建一个用户名为mysql的用户并加入mysql用户组: useradd -g mysql mysql
修改用户密码:passwd mysql
2.3 上传并解压mysql压缩包,给mysql用户授权
解压:tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
授权:chown mysql.mysql /usr/local/mysql -R
2.4 在/etc目录下添加my.cnf 配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
skip-name-resolve
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=/usr/local/mysql/mysql-5.7.31
# 设置mysql数据库的数据的存放目录
datadir=/usr/local/mysql/mysql-5.7.31/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
2.5 安装和初始化
初始化mysql:./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.31/mysql/ --datadir=/usr/local/mysql/mysql-5.7.31/data/
如果出现./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
则需要安装libaio.so.1:yum install libaio
复制文件:cp ./support-files/mysql.server /etc/init.d/mysqld
授权:
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
重启mysql 服务:/etc/init.d/mysqld restart
软连接(在任何目录下可以登录mysql):ln -s /usr/local/mysql/mysql-5.7.31/bin/mysql /usr/bin/mysql
2.6 设置开机启动
chkconfig --level 35 mysqld on
chkconfig --list mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
service mysqld status
2.7 配置环境变量
JAVA_HOME=/usr/local/java/jdk1.8.0_11
MYSQL_HOME=/usr/local/mysql/mysql-5.7.31
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin
export PATH JAVA_HOME CLASSPATH
2.8 登录数据
获得初始化密码:**cat /root/.mysql_secret **
登录数据库:mysql -uroot -p
重新设置密码:set PASSWORD = PASSWORD(‘root777’);
刷新权限:flush privileges;
更换数据库:use mysql;
查看数据库用户地址:select host,user from user;
修改root用户访问权限:update user set host=‘%’ where user=‘root’;
2.9 创建新用户
删除用户:**DROP USER ‘goryleee’@‘%’; **
创建用户: CREATE USER ‘username’@‘host’ IDENTIFIED BY ‘password’;
授权:GRANT ALL ON . TO ‘pig’@‘%’; 或者 GRANT SELECT, INSERT ON test.user TO ‘pig’@‘%’;
撤销用户权限:REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;
修改用户密码:SET PASSWORD FOR ‘username’@‘host’ = PASSWORD(‘newpassword’);
查看用户权限:**SHOW GRANTS FOR ‘pig’@‘%’; **
三、 redis安装
下载地址:http://download.redis.io/releases
3.1 上传解压redis
tar -zvxf redis-6.2.5.tar.gz
3.2 编译安装(进入redis根目录)
执行:make
进入src,执行: make install
启动服务:./redis-server …/redis.conf
3.3 设置后台执行和修改密码
修改配置文件:vim redis.conf
// 注释监听ip,不然本地无法连接redis
#bind 127.0.0.1
// 修改保护模式,不修改保护模式也是只能内网访问的 protected-mode yes 改成 protected-mode no
protected-mode no
// 设置密码,这里建议设置密码,否则可能会发生一些预料不到的事情,因为6379端口有漏洞
requirepass "你的密码"
// daemonize no 改为yes 后台一直运行
daemonize yes
3.4 将redis添加systemctl服务,并设置开机自启
在 /etc/systemd/system 下新建redis.service
其中/usr/local/redis/redis-6.2.5是你安装redis的路径
[Unit]
Description=Redis
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/redis-6.2.5/src/redis-server /usr/local/redis/redis-6.2.5/redis.conf
ExecReload=/usr/local/redis/redis-6.2.5/src/redis-server -s reload
ExecStop=/usr/local/redis/redis-6.2.5/src/redis-server -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载服务配置文件 :systemctl daemon-reload
启动redis: systemctl start redis
查看redis服务状态: service redis status
设置开机启动: systemctl enable redis.service
systemctl disable redis.service # 取消开机自启
systemctl start redis.service # 启动redis服务
systemctl stop redis.service # 停止服务
systemctl restart redis.service # 重新启动服务
systemctl status redis.service # 查看服务当前状态
systemctl list-units --type=service # 查看所有已启动的服务
systemctl daemon-reload # 加载服务配置文件
四、nginx安装
下载地址:https://nginx.org/en/download.html
4.1 准备make环境
执行:yum -y install gcc gcc-c++ automake autoconf libtool make
4.2 准备nginx环境
安装pcre: yum -y install pcre pcre-devel
安装zlib:yum -y install zlib zlib-devel
安装openssl :yum -y install openssl openssl-devel
4.3上传并解压nginx
解压:tar -zvxf nginx-1.20.2.tar.gz
进入nginx根目录: cd /usr/local/nginx/nginx-1.20.2
执行:**./configure **
编译:make
安装:**make install **
4.4 启动nginx
执行:cd /usr/local/nginx/sbin
启动nginx服务:**./nginx **
关闭nginx服务:./nginx -s stop
重启nginx服务:./nginx -s reload
检测配置文件:nginx -t -c ~/youSite.conf
4.5 设置nginx开机自启–准备工作
复制nginx.conf,mime.types文件到/etc/nginx/: cd /usr/local/nginx/conf/
执行:cp nginx.conf /etc/nginx/ ** cp mime.types /etc/nginx/ **
创建init.d控制命令,vi /etc/init.d/nginx ,内容如下
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/etc/nginx/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $prog -HUP
retval=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
注意:下面两处需要修改
nginx="/usr/local/nginx/sbin/nginx" #修改成nginx执行程序的路径。
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" #修改成nginx.conf文件的路径。
设置权限:chmod a+x /etc/init.d/nginx
设置之后就可以执行如下命令
/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
4.6 设置nginx开机自启
添加到
service
,使用service对nginx控制:chkconfig --add /etc/init.d/nginx设置开机自启,执行:chkconfig nginx on