首先进行系统安装,此处不进行详细介绍,自行百度安装
一、配置ip地址信息(云服务器跳过次步)
1、进入/etc/sysconfig/network-scripts/
2、ls查看文件夹内文件
3、编写 ifcfg-ens****文件(本机为ifcfg-ens33)
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-ens33
4、配置ip信息(按i进入输入模式,按esc退出输入,输入:wq 进行保存退出,其他请自行百度学习vi操作)
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #静态ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=3ae4be2f-7000-4147-8ac2-c5a4fa848f31
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.100 #ip地址
NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.1.1 #网关
DNS1=202.99.160.68 #dns
DNS2=202.99.166.4
ZONE=public
5、重启网络,并进行测试 ping(按ctrl+c)
service network restart
ping www.baidu.com
详细页面
二、开启防火墙
1、查看防火墙是否打开
firewall-cmd --state
2、打开防火墙
systemctl start firewalld
3、设置防火墙开机启动
systemctl enable firewalld
4、添加端口并重启防火墙(开放常用端口,如:22、80、3306、8080、443、6379等)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
5、查看开放端口状况
firewall-cmd --list-all
三、安装SSH服务(远程连接使用)
1、查看是否安装了相关软件
rpm -qa|grep -E "openssh"
2、安装缺失的软件:
sudo yum install openssh*
3、注册使用服务:
sudo systemctl enable sshd
service sshd start
4、开启防火墙的22端口(如果已开启请跳过此部)
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
5、使用ssh连接服务器(如软件xshell、putty)
四、更新阿里云yum源(建议更改,加快速度)
1、安装wget服务
yum -y install wget
2、下载repo文件
wget http://mirrors.aliyun.com/repo/Centos-7.repo
3、备份并替换系统的repo文件
cp Centos-7.repo /etc/yum.repos.d/
rm -rf Centos-7.repo
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo
4、执行yum源更新命令(执行最后一步假如报错正在尝试其他映像,请按ctrl+c,然后再次执行最后一步)
yum clean all
yum makecache
yum update
5、安装vim
yum -y install vim*
五、jdk安装
1、进入/usr/local目录下载
cd /usr/local/
wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz?AuthParam=1531973178_bfda57895bf56fc4e64f754387fe008d
2、解压jdk并删除源文件
tar -zxvf jdk-8u181-linux-x64.tar.gz\?AuthParam\=1531973178_bfda57895bf56fc4e64f754387fe008d
rm -rf jdk-8u181-linux-x64.tar.gz\?AuthParam\=1531973178_bfda57895bf56fc4e64f754387fe008d
mv jdk1.8.0_181/ jdk1.8
3、修改环境变量(用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑))
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
4、跟新配置并测试
source /etc/profile
java
出现以下情况成功
六、tomcat8.0安装
1、下载安装包
cd /usr/local/
wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
2、解压并删除源文件
tar -zxvf apache-tomcat-8.0.53.tar.gz
rm -rf apache-tomcat-8.0.53.tar.gz
mv apache-tomcat-8.0.53/ tomcat8
3、创建快捷键
cd /root
ln -s /usr/local/tomcat8/ tomcat8
4、配置脚本
vim /etc/init.d/tomcat8
#!/bin/bash
#
## description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
export JAVA_HOME=/usr/local/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
CATALINA_HOME=/usr/local/tomcat8
case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;;
stop)
sh $CATALINA_HOME/bin/shutdown.sh
;;
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;;
esac
exit 0
5、为tomcat8.service添加执行权限并开机启动
chmod a+x /etc/init.d/tomcat8
chkconfig tomcat8 on
6、tomcat8服务
启动:service tomcat8 start
重启:service tomcat8 restart
关闭:service tomcat8 stop
7、进行访问 (网址ip:8080,如本机192.168.1.150:8080)
8、开启ssl安全访问
申领ssl证书(百度云、阿里云、腾讯云都有免费证书)
1、首先将申请好的证书下载解压,上传到服务器上,我上传到了tomcat目录下的ssl_cert文件夹下
2、 修改tomcat/conf 文件夹的 server.xml文件,开启https
#默认开启8080端口,并且自动转发到8443这是tomcat自带代码不用修改
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
#在他下边添加一下代码,开启8443端口作为tomcat的ssl端口,如果未使用其他服务器(nginx)建议将8080换成80,8443换成443这样访问时不用加端口号默认http是80https是443
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="默认域名">
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
<SSLHostConfig hostName="域名1">
<Certificate certificateKeystoreFile="./ssl_cert/域名1ssl证书" certificateKeystorePassword="域名1ssl证书密码" type="RSA" />
</SSLHostConfig>
<SSLHostConfig hostName="域名2">
<Certificate certificateKeystoreFile="./ssl_cert/域名2ssl证书" certificateKeystorePassword="域名2ssl证书密码" type="RSA" />
</SSLHostConfig>
</Connector>
3、修改域名对应路径webapps位置
#appBase这个目录下面的子目录将自动被部署为应用,且war文件将被自动解压缩并部署为应用,默认为tomcat下webapps目录,如果不想访问默认ROOT目录,修改这里,同理如果想访问配置目录下应用为默认应用,在此目录下新增ROOT目录文件夹。
<Host name="域名1" appBase="项目文件夹位置(默认为webapps)" unpackWARs="true" autoDeploy="true">
<Alias>域名1</Alias>
<Alias>域名2</Alias>
# 设置默认项目名称 path 位虚拟目录网址 docBase 为实际目录,访问域名时会访问appBase路径/docBase路径查找项目,可设置为空
<Context path="" docBase="具体项目路径" reloadable="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>
这里的关键在于<Alias>域名</Alias>,将两个域名主机指向了同一个项目
4、 如需配置两个域名访问不同的项目,则按照如下配置
#域名1服务
<Host name="域名1" appBase="域名1项目文件夹(本人设置为webapps/top)" 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>
#域名2服务
<Host name="域名2" appBase="域名2项目文件夹(本人设置为webapps/vip)" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="" reloadable="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>
七、mysql安装
1、下载安装包
cd /usr/local/
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
2、解压并删除源文件
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
rm -rf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
#.tar.xz解压
xz -d mysql-5.7.22-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-5.7.22-linux-glibc2.12-x86_64.tar
rm -rf mysql-5.7.22-linux-glibc2.12-x86_64.tar
mv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
3、新建data目录
mkdir /usr/local/mysql/data
4、新建mysql用户、mysql用户组
groupadd mysql
useradd mysql -g mysql
5、将/usr/local/mysql的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql
6、配置
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
# 如果出现以下错误:
2018-07-14 06:40:32 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2018-07-14 06:40:32 [ERROR] Child process: /usr/local/mysql/bin/mysqldterminated prematurely with errno= 32
2018-07-14 06:40:32 [ERROR] Failed to execute /usr/local/mysql/bin/mysqld --bootstrap --datadir=/usr/local/mysql/data --lc-messages-dir=/usr/local/mysql/share --lc-messages=en_US --basedir=/usr/local/mysql
-- server log begin --
-- server log end --
# 则使用以下命令:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
# 如果出现以下错误:
2018-12-12T08:47:44.114511Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-12-12T08:47:44.116565Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2018-12-12T08:47:44.116618Z 0 [ERROR] Aborting
# 则使用以下命令:
/usr/local/mysql5.7/bin/mysqld --user=mysql --basedir=/usr/local/mysql5.7/ --datadir=/usr/local/mysql5.7/data --explicit_defaults_for_timestamp
# 如果出现以下错误:
/usr/local/mysql/bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
# 则执行以下命令:
yum -y install numactl
# 则执行以下命令:
yum -y install numactl
# 完成后继续安装:
/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
7、编辑配置文件
vim /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/tmp/mysql.sock
user=mysql
port=3306
character-set-server=utf8
# 取消密码验证
skip-grant-tables
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# skip-grant-tables
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
8、开启服务
# 将mysql加入服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
# 开机自启
chkconfig mysql on
# 开启
service mysql start
9、设置密码
# 登录(由于/etc/my.cnf中设置了取消密码验证,所以此处密码任意)
/usr/local/mysql/bin/mysql -u root -p
# 操作mysql数据库
>>use mysql;
# 修改密码
>>update user set authentication_string=password('你的密码') where user='root';
>>flush privileges;
>>exit;
#mysql8.0以上
mysql> use mysql;
#先把密码置为空字符串;(不让后面修改密码会报错)
mysql> use mysql;
mysql> update user set authentication_string="" where user="root";
#这个刷新非常有必要;不让后面执行alter就会出错
mysql> flush privileges;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
10、将/etc/my.cnf中的skip-grant-tables删除(注释掉 前边加上#)
vim /etc/my.cnf
11、登录再次设置密码
/usr/local/mysql/bin/mysql -u root -p
>>ALTER USER 'root'@'localhost' IDENTIFIED BY '修改后的密码';
>>exit;
12、允许远程连接
/usr/local/mysql/bin/mysql -u root -p
>>use mysql;
>>update user set host='%' where user = 'root';
>>flush privileges;
>>exit;
13、添加快捷方式
ln -s /usr/local/mysql/bin/mysql /usr/bin
八、ngnix安装
1、安装运行库
yum install wget gcc gcc-c++ pcre-devel zlib-devel
2、下载ngnix
cd /usr/local/
wget http://nginx.org/download/nginx-1.14.0.tar.gz
3、解压,删除源文件、改名
tar zxvf nginx-1.14.0.tar.gz
rm -rf nginx-1.14.0.tar.gz
mv nginx-1.14.0/ nginx1.14
cd nginx1.14
4、检测系统配置, 生成make相关文件
./configure
5、编译并安装
make && make install
6、创建nginx启动命令脚本
vim /etc/init.d/nginx
#! /bin/bash
# Startup script for the nginx Web Server
# chkconfig: - 85 15
# description: nginx is a World Wide Web server. It is used to serve
# HTML files and CGI.
# processname: nginx
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
7、开机自启
设置执行权限
chmod a+x /etc/init.d/nginx
注册成服务
chkconfig --add nginx
设置开机启动
chkconfig nginx on
重启, 查看nginx服务是否自动启动
shutdown -h 0 -r
netstat -apn|grep nginx
8、服务信息
#启动nginx服务
/etc/init.d/nginx start
#systemctl start nginx.service
#停止nginx服务
/etc/init.d/nginx stop
#systemctl stop nginx.service
#重启nginx服务
/etc/init.d/nginx restart
#systemctl restart nginx.service
#重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
#/etc/init.d/nginx reload
#systemctl reload nginx.service
9、开启ssl
安装OpenSSL
#进入安装路径
cd /usr/local/
#下载OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
#解压
tar zxvf openssl-1.1.1a.tar.gz
#删除压缩包
rm -rf openssl-1.1.1a.tar.gz
#安装
cd openssl-1.1.1a/
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
make && make install
#查看版本
openssl version -a
#安装openssl-devel
yum install openssl-devel
添加http_ssl_module模块
.#看下编译安装nginx的时候,都编译安装的哪些模块。
/usr/local/nginx/sbin/nginx -V
#进入之前下载并解压了的源码包目录;重新编译nginx
cd /usr/local/nginx1.14.2/
#开启权限
chmod +x ./configure
#编译
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
#停止nginx
/etc/init.d/nginx stop
#备份一下原来的启动脚本。
cp /etc/init.d/nginx /etc/init.d/nginx.back
#替换nginx二进制文件
cp objs/nginx /usr/local/nginx/sbin/
cp: overwrite ‘/usr/local/nginx/sbin/nginx’? yes
#看看是否启动了对应模块
/usr/local/nginx/sbin/nginx -V
#提示
nginx version: nginx/1.14.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#启动nginx
/etc/init.d/nginx start
#查看是否正常监听80端口
netstat -lnp|grep nginx
九、Redis安装
1、下载redis
cd /usr/local/
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
2、解压,删除源文件、改名
tar -zxvf redis-4.0.10.tar.gz
rm -rf redis-4.0.10.tar.gz
mv redis-4.0.10/ redis
3、yum安装gcc依赖
yum install gcc tcl
4、安装
cd redis
make MALLOC=libc
cd src && make install
5、测试是否成功
./redis-server
出现以下情况成功(按 ctrl + c可以关闭窗口)
6、修改配置文件
cd /usr/local/redis/
vim redis.conf
1、修改daemonize
将
daemonize no #默认为no
修改为
daemonize yes #后台进程方式改为yes
2、修改bind 配置
将
bind 127.0.0.1 #默认只有本机才能够连接
修改为
bind 0.0.0.0 #所有ip都可以访问(也可修改为限定ip)
3、修改protected-mode配置
将
protected-mode yes #在默认保护模式下启用
修改为
protected-mode no #禁用它,任何client不用认证即可连接
4、修改port端口号
将
port 6379 #默认为6379端口
修改为其他端口
port 6379 #可根据实际情况配置
5、设置密码
将 requirepass foobared
变为
requirepass 你的密码
7、再次启动
指定redis.conf文件启动
cd /usr/local/redis/src/
./redis-server ../redis.conf
测试redis
./redis-cli -h 127.0.0.1 -p 6379 -a 你的密码
127.0.0.1:6379> set ko 'ok'
OK
127.0.0.1:6379> keys *
1) "ko"
127.0.0.1:6379> get ko
"ok"
127.0.0.1:6379> exit
关闭redis进程
首先使用ps -aux | grep redis查看redis进程,使用kill命令杀死进程
ps -aux | grep redis
root 2852 0.1 0.2 141832 2028 ? Ssl 16:45 0:00 ./redis-server 127.0.0.1:6379
root 2857 0.0 0.0 112704 976 pts/0 S+ 16:46 0:00 grep --color=auto
redis
kill -9 2852
8、设置redis开机自启动
在/etc目录下新建redis目录
cd /etc/
mkdir redis
将/usr/local/redis/redis.conf 文件复制一份到/etc/redis目录下,并命名为6379.conf
cp /usr/local/redis/redis.conf /etc/redis/6379.conf
将redis的启动脚本复制一份放到/etc/init.d目录下
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redis
设置redis开机自启动 。先切换到/etc/init.d目录下,然后执行自启命令
cd /etc/init.d/
chkconfig redis on
service redis does not support chkconfig
看结果是redisd不支持chkconfig
解决方法:使用vim编辑redis文件(/etc/init.d/redis),在第一行加入如下两行注释,保存退出
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
再次执行开机自启命令,成功
chkconfig redis on
9、服务
启动:
service redis start
关闭:
service redis stop
10、如果设置密码,关闭时会验证密码,需要更改启动脚本
cd /etc/init.d/
vi /etc/init.d/redis
然后
配置密码常量 PWD=你的密码
将关闭处代码更改为
$CLIEXEC -a $PWD -p $REDISPORT shutdown
或
$CLIEXEC -a "root" -p $REDISPORT shutdown
不更改会影响关闭效率。