1、JDK
#进入安装包目录
cd /data/install
#使用wget下载安装包jdk1.8.0
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
#解压文件
tar -zxvf jdk-8u141-linux-x64.tar.gz
#将解压好的目录放置data目录
mv jdk1.8.0_141/ /data/java
#查看当前java版本
java -version
#配置JDK环境变量
echo "#JAVA
export JAVA_HOME=/data/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH" >> /etc/profile
#启用环境变量
source /etc/profile
#再次查看java版本
java -version
2、Nginx
#部署NGINX
#创建安装文件目录
mkdir /data/install
cd /data/install
#创建nginx主目录
mkdir /data/nginx
cd /data/nginx
#创建nginx日志目录
mkdir -p /data/nginx/logs/
#创建nginx临时目录
mkdir -p /data/nginx/temp
#创建nginx运行目录
mkdir -p /data/nginx/run
#下载nginx安装包
wget http://nginx.org/download/nginx-1.16.1.tar.gz
#安装依赖包
yum -y install unzip zip wget curl vim pcre pcre-devel openssl openssl-devel gcc gcc-c++ autoconf automake zlib-devel libxml2 libxml2-dev libxslt-devel gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data make GeoIP-devel GeoIP-update
#创建nginx用户
useradd nginx
#解压nginx安装包
cd /data/install
tar zvxf nginx-1.16.1.tar.gz
#进入解压好的目录
cd nginx-1.16.1
#编辑安装nginx
./configure --prefix=/data/nginx --error-log-path=/data/nginx/logs/error.log --http-log-path=/data/nginx/logs/access.log --pid-path=/data/nginx/run/nginx.pid --lock-path=/data/nginx/run/nginx.lock --http-client-body-temp-path=/data/nginx/temp/client_temp --http-proxy-temp-path=/data/nginx/temp/proxy_temp --http-fastcgi-temp-path=/data/nginx/temp/fastcgi_temp --http-uwsgi-temp-path=/data/nginx/temp/uwsgi_temp --http-scgi-temp-path=/data/nginx/temp/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
make
make install
#创建nginx启动文件
touch /lib/systemd/system/nginx.service
echo '[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/data/nginx/sbin/nginx
ExecReload=/data/nginx/sbin/nginx -s reload
ExecStop=/data/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/nginx.service
#赋予文件执行权限
chmod 755 /lib/systemd/system/nginx.service
#刷新服务
systemctl daemon-reload
#启动Nginx服务
systemctl start nginx.service
#设置开机自启
systemctl enable nginx.service
#查看服务状态
systemctl status nginx.service
3、Tomcat
#创建安装包目录
mkdir -p /data/install
#进入安装包目录
cd /data/install
#下载Tomcat8.5.82
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.tar.gz --no-check-certificate
#解压文件
tar -zxvf apache-tomcat-8.5.82.tar.gz
#移动到data目录
mv apache-tomcat-8.5.82 /data/tomcat
#配置出Tomcat.pid路径
sed -i '159i CATALINA_PID="/data/tomcat/conf/tomcat.pid" ' /data/tomcat/bin/catalina.sh
#创建systemctl进行管理Tomcat
touch /lib/systemd/system/tomcat.service
echo '[Unit]
Description=Apache Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#JDK配置的路径
Environment="JAVA_HOME=/data/java/jre/"
#tomcat.pid路径跟catalina.sh关联
PIDFile=/data/tomcat/conf/tomcat.pid
#启动
ExecStart=/data/tomcat/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
#ExecStop=/bin/kill -s QUIT $MAINPID
#关闭
ExecStop=/data/tomcat/bin/shutdown.sh
PrivateTmp=true
User=root
Group=root
[Install]
WantedBy=multi-user.target' > /lib/systemd/system/tomcat.service
#赋予文件执行权限
chmod 755 /lib/systemd/system/tomcat.service
#刷新systemctl服务
systemctl daemon-reload
#启动Tomcat服务
systemctl start tomcat.service
#设置Tomcat服务开机自启
systemctl enable tomcat.service
#查看Tomcat服务当前状态
systemctl status tomcat.service
4、Redis
#进入安装包目录
cd /data/install
#解压安装包并指定目录
tar -zvxf redis-5.0.8.tar.gz -C /data
#进入安装包解压后的目录
cd /data/redis-5.0.8
#安装
make
#创建安装目录
mkdir -p /data/redis
#将安装文件移动到指定位置
cp /data/redis-5.0.8/src/redis-server /data/redis/
cp /data/redis-5.0.8/src/redis-cli /data/redis/
cp /data/redis-5.0.8/redis.conf /data/redis/
#修改配置文件
sed -i 's/protected-mode yes/protected-mode no/' /data/redis/redis.conf
sed -i 's/daemonize no/daemonize yes/' /data/redis/redis.conf
sed -i 's/#requirepass foobared/requirepass Root123456/' /data/redis/redis.conf
#创建systemctl管理Redis服务
touch /lib/systemd/system/redis-server.service
echo '[Unit]
Description=nginx scripts
After=network.target remote-fs.target nss-lookup.target syslog.target
[Service]
ExecStart=/data/redis/redis-server /data/redis/redis.conf --daemonize no
ExecStop=/data/redis/redis-cli -p 6379 shutdown
Restart=always
[Install]
WantedBy=multi-user.target' >> /lib/systemd/system/redis-server.service
#赋予systemctl文件权限
chmod 755 /lib/systemd/system/redis-server.service
#刷新systemctl服务
systemctl daemon-reload
#启动Redis服务
systemctl start redis-server.service
#设置开机自启服务
systemctl enable redis-server.service
#查看Redis服务当前运行状态
systemctl status redis-server.service
##################################配置文件设置#####################################
#密码设置
#requirepass Root123456!
#数据存放位置
#dir /data/redis/redisdata
#日志文件
#logfile "/data/redis/logs/redis.log"
#进程文件
#pidfile /data/redis/run/redis_6379.pid
5、MySQL
#创建MySQL用户
useradd -M -s /sbin/nologin mysql
#进入安装包目录
cd /data/install
#使用wget下载MySQL安装包
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
#解压安装包
tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
#将解压好的安装包移动到指定位置
mv mysql-5.7.28-linux-glibc2.12-x86_64/ /data/mysql/
#安装依赖
yum -y install libaio
#创建MySQL数据存放目录
mkdir /data/mysql/mysqldata
#创建MySQL日志存放目录
mkdir /data/mysql/logs
#创建日志文件
touch /data/mysql/logs/error.log
#创建运行文件存放目录
mkdir /data/mysql/run
#备份配置文件
cp /etc/my.cnf /etc/my.cnf.bak
#配置文件赋予权限
chown -R mysql:root /etc/my.cnf
chmod 644 /etc/my.cnf
#创建mysql配置文件
echo '[mysqld]
datadir=/data/mysql/mysqldata
port=3306
log-error=/data/mysql/logs/error.log
long_query_time=2
symbolic-links=0
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
default-time_zone = '+8:00'
character-set-server=utf8
max_connections = 500
sort_buffer_size = 16M
query_cache_limit = 8M
query_cache_size = 64M
open_files_limit = 1024
innodb_buffer_pool_size = 128M
innodb_buffer_pool_instances = 4
innodb_buffer_pool_load_at_startup = 1
innodb_flush_log_at_trx_commit = 2
innodb_file_per_table = ON
innodb_log_buffer_size = 8M
innodb_log_file_size = 256M
innodb_flush_method=O_DIRECT
skip_name_resolve
max_allowed_packet = 500M
wait_timeout = 600
interactive_timeout = 300
[client]
default-character-set=utf8' > /etc/my.cnf
#安装目录进行赋予权限
chown -R mysql:root /data/mysql
#进入安装目录
cd /data/mysql/
#进行格式化数据库
./bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/mysqldata
#创建systemctl服务管理MySQL
touch /usr/lib/systemd/system/mysql.service
echo '[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
#Restart=on-failure
#RestartPreventExitStatus=1
#PrivateTmp=false' > /usr/lib/systemd/system/mysql.service
#赋予systemctl可执行权限
chmod 755 /usr/lib/systemd/system/mysql.service
#刷新systemctl服务
systemctl daemon-reload
#MySQL加入环境变量
echo '
#MYSQL
export ES_HOME=/data/mysql
export PATH=$ES_HOME/bin:$PATH' >> /etc/profile
#刷新环境变量
source /etc/profile
#启动服务
systemctl start mysql
#重启服务
systemctl restart mysql
#设置服务开机自启
systemctl enable mysql
#查看服务运行状态
systemctl status mysql
#查看MySQL初始密码
grep 'temporary password' /data/mysql/logs/error.log
#运行结果
2023-08-14T02:51:23.158650Z 1 [Note] A temporary password is generated for root@localhost: ntaN3l0QWs/5
#设置密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123456!@';
#授权给navicat可以链接
grant all privileges on *.* to 'root'@'%' identified by 'Root123456!@' with grant option;
#普通用户授权
grant replication slave on *.* to 'lzk'@'%' identified by 'Root123456!@';
#刷新权限
flush privileges;
#查看主节点状态
show master status;
#从库赋予权限
change master to master_host='192.168.182.12',master_user='lzk',master_password='Root123456!@',master_log_file='mysql-bstein.000002',master_log_pos=1459;
#执行后状态
Query OK, 0 rows affected, 2 warnings (0.00 sec)
#启动从节点
mysql> start slave;
Query OK, 0 rows affected (0.01 sec)