Centos7
配置静态IP
# 1. 编写网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 2. 主要配置点
1. BOOTPROTO="static" # 静态IP
2. ONBOOT="yes" # 开机自启
3. IPADDR=192.168.137.100 # 配置本机IP
4. GATEWAY=192.168.137.2 # 网关--与虚拟网络编辑器内NAT的网关对应
5. DNS1=192.168.137.2 # 域名解析器,与网关保持一致。注意只有一个DNS一定要DNS1,想要配置多个就DNS1,DNS2...
6.NETMASK=255.255.255.0 # 子网掩码
# 3. 保存修改网络配置文件,重启网卡服务
service network restart
# 4. 测试网络配置结果
1. ifconfig
2. ping www.baidu.com
配置端口
-
开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口 firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口 firewall-cmd --reload # 配置立即生效
-
查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
-
关闭防火墙
# 如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估 systemctl stop firewalld.service
-
查看防火墙状态
firewall-cmd --state
配置yum国内镜像
-
备份原镜像文件,以免出错以后可以恢复
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
-
下载新的CentOS-Base.repo 到/etc/yum.repos.d/
#base源 CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo CentOS 6 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo CentOS 7 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#epel源 Epel 5 wget -O /etc/yum.repos.d/epel-5.repo http://mirrors.aliyun.com/repo/Cepel-5.repo Epel 6 wget -O /etc/yum.repos.d/epel-6.repo http://mirrors.aliyun.com/repo/epel-6.repo Epel 7 wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo
-
运行
yum makecache
生成缓存yum clean all yum makecache # 查看yum源信息 yum repolist
配置JAVA
java -version
查看系统自带的openjdk是否存在如果存在自带的jdk 查看自带jdk版本
rpm -qa | grep java
带noarch文件可以不用删除 其他的删除 ,如:
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64
国内镜像下载jdk
https://repo.huaweicloud.com/java/jdk/8u151-b12/
解压到/opt目录
tar -zxvf jdk-8u151-linux-x64.tar.gz
-
设置环境变量
vim /etc/profile
# 大写G定位到文件最后,w快进到末尾,i进行写入 JAVA_HOME=/opt/jdk1.8.0_151 export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source /etc/profile
查看是否安装成功
java -version
安装tomcat
- 去官网下载压缩包
https://tomcat.apache.org/download-80.cgi
- 解压到/opt目录下
tar -zxvf tomcat8
- cd /opt/apache-tomcat-8.5.59/bin
- 开启tomcat
./startup.sh
- 关闭tomcat
./shutdown.sh
安装Docker
-
卸载旧版本Docker(没有安装过可跳过)
sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加软件源信息(
使用国内的阿里云,docker官网上国外地址网速太慢
)sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
更新并安装Docker-CE(个人版,如果是企业可选择企业版,参考官网)
# 官网地址:https://docs.docker.com/install/linux/docker-ee/centos/ sudo yum makecache fast sudo yum -y install docker-ce
-
开启docker服务
sudo systemctl start docker //centos7开启服务是systemctl,centos6是service
-
检查docker版本
docker version
-
运行docker测试项目
sudo docker run hello-world
-
配置阿里云镜像加速器
登录进入容器镜像服务-镜像中心-镜像加速器
-
选择<镜像加速器>菜单,右边会显示你专属的镜像加速器地址,然后选择centos,直接复制代码在终端中运行即可
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://0epfm98a.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
安装mysql
-
安装包下载并上传到Linux系统中
官网5.7版本 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
解压安装包并安装,为了避免出现权限问题,给mysql解压文件所在目录赋予最大权限
tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
chmod -R 777 mysql
-
安装新版mysql之前,需要卸载之前的mysql或者系统自带的mariadb-lib卸载
rpm -qa|grep mysql rpm -qa|grep mariadb rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
-
严格按照顺序安装如下这四个包:
- mysql-community-common-5.7.29-1.el7.x86_64.rpm
- mysql-community-libs-5.7.29-1.el7.x86_64.rpm
- mysql-community-client-5.7.29-1.el7.x86_64.rpm
- mysql-community-server-5.7.29-1.el7.x86_64.rpm
1. rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm --force --nodeps
2. rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm --force --nodeps
3. rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm --force --nodeps
4. rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm --force --nodeps
-
配置数据库
vim /etc/my.cnf # 添加这三行 skip-grant-tables 跳过登录验证 character_set_server=utf8 设置默认字符集UTF-8 init_connect='SET NAMES utf8' 设置默认字符集UTF-8
-
启动mysql服务
# 设置开机启动 systemctl start mysqld.service # 启动mysql mysql
-
设置密码和开启远程登录
# 先设置密码 update mysql.user set authentication_string=password('root') where user='root'; # 立即生效 flush privileges # 退出mysqk并停止mysql服务 systemctl stop mysqld.service # 编辑my.cnf配置文件将:skip-grant-tables这一行注释掉 # 重启mysql服务 systemctl start mysqld.service #再次登录mysql mysql -uroot -proot # 如果输入其他命令出错,再重设密码 set password=password('root');
-
安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个,解决方式如下:
mysql> show databases; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. mysql> use mysql; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. # 有些阿里云服务器安装mysql,执行 systemctl start mysqld.service发现启动不了 # 安装mysql之前检查下libaio.so.1的位置 whereis libaio.so.1 # 如果执行了whereis libaio.so.1,没有找到该文件,就要手动安装下libaio yum install -y libaio # 如果报错说 data directory has files in it. Aborting. 将原先数据备份再重新启动即可 mv /var/lib/mysql /var/lib/mysql.bak
# 这是 mysql 初始化时,使用临时密码,修改自定义密码时,由于自定义密码比较简单,就出现了不符合密码策略的问题。 # 解决办法: 1. 查看 mysql 初始的密码策略 SHOW VARIABLES LIKE 'validate_password%'; 2. 首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 0 即可, set global validate_password_policy=0; 3. 当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可 set global validate_password_length=6; 4. 现在可以为 mysql 设置简单密码了,只要满足六位的长度即可, ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
# 关于 mysql 密码策略相关参数 1)、validate_password_length 固定密码的总长度; 2)、validate_password_dictionary_file 指定密码验证的文件路径; 3)、validate_password_mixed_case_count 整个密码中至少要包含大/小写字母的总个数; 4)、validate_password_number_count 整个密码中至少要包含阿拉伯数字的个数; 5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM; 关于 validate_password_policy 的取值: 0/LOW:只验证长度; 1/MEDIUM:验证长度、数字、大小写、特殊字符; 2/STRONG:验证长度、数字、大小写、特殊字符、字典文件; 6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
-
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent # --zone #作用域 # --add-port=80/tcp #添加端口,格式为:端口/通讯协议 # --permanent #永久生效,没有此参数重启后失效 # 重启防火墙 firewall-cmd --reload
开启远程登录
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# by后面的就是远程登录密码,远程登录密码可以和用户密码不一样
安装Redis
下载地址:http://redis.io/download,下载最新稳定版本。
解压
tar -zxvf redis-6.0.9.tar.gz
进入redis目录
cd redis-6.0.9
-
执行 make 命令,之后redis-6.0.9 的 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli:
# 报错一:执行make之后出现command not found,解决方法如下: yum -y install gcc # 报错二:server.c:xxxx:xx: error: ‘xxxxxxxx’ has no member named ‘xxxxx’ # 解决方法:查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5 gcc -v # 升级gcc到5.3及以上,如下: # 升级到gcc 9.3: yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils scl enable devtoolset-9 bash # 需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。 # 如果要长期使用gcc 9.3的话: echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile # 编译出错时,清出编译生成的文件 make distclean # 编译安装到指定目录下 make PREFIX=/usr/local/redis install # 卸载 make uninstall
-
启动redis服务
# 启动方式一,这种方式启动 redis 使用的是默认配置 cd src ./redis-server # 启动方式二,通过启动参数告诉 redis 使用指定配置文件使用下面命令启动。 cd src ./redis-server ../redis.conf # redis.conf 是一个默认的配置文件。可以根据需要使用自己的配置文件。
-
启动测试
# cd src # ./redis-cli redis> set foo bar OK redis> get foo "bar"
-
设置开机自启动
# 1. 首先新建几个目录 mkdir -p /etc/redis # 用于存放redis的配置文件(一般将原来的配置文件复制一份出来) mkdir -p /var/log/redis # 用于存放redis的日志文件 mkdir -p /var/redis/6379 # 用于存放redis的持久化文件(6379表示redis实例的端口号) # 2. 将解压后的redis的根目录下的redis.conf配置文件复制一份到新建的 /etc/redis下面并重命名为6379.conf # 3. 修改6379.conf 修改内容如下 1. 注释掉bind 127.0.0.1 2. daemonize no → daemonize yes 3. logfile /var/log/redis/6379.log 4. dir /var/redis/6379 # 4. 将redis解压后的目录中的utils下面的redis_init_script文件复制到/etc/init.d下面,并重命名为redis_6379 # 5. 修改redis_6379文件 REDISPORT=6379 # 这个类似一个定义,这边的定义需要和使用的redis启动的使用的配置文件名字保持一致(不要后缀名) EXEC=/opt/redis-6.0.9/src/redis-server # redis-server所在地址 CLIEXEC=/opt/redis-6.0.9/src/redis-cli # redis-cli所在地址 PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/etc/redis/${REDISPORT}.conf" # 使用的配置文件。这边就是去读取/etc/redis下面的“6379.conf“配置文件 # 6. 将redis_6379服务设置成开机自启动 chkconfig redis_6379 on # 7. 重启linux reboot ,查看进程 ps -ef |grep redis 会发现服务已经在运行了
安装Nginx
-
安装gcc
# 查看是否有gcc环境 gcc -v # 安装gcc yum -y install gcc
-
pcre、pcre-devel安装
# pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。 yum install -y pcre pcre-devel
-
zlib安装
# zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装 yum install -y zlib zlib-devel
-
安装openssl
# openssl是web安全通信的基石 yum install -y openssl openssl-devel
-
下载nginx安装包
# 官网下载地址 http://nginx.org/en/download.html
-
解压nginx
tar -zxvf nginx-1.18.0.tar.gz
-
进入nginx安装目录执行命令
./configure make make install
-
查看nginx编译后安装的目录
> whereis nginx > nginx: /usr/local/nginx
-
切换到nginx安装目录,配置nginx的配置文件
nginx.conf
# 配置自定义占用端口号,可以保持默认80 vim /usr/local/nginx/conf/nginx.conf
启动nginx,切换目录到/usr/local/nginx/sbin下面启动nginx
./nginx
查看nginx服务是否启动成功
ps -ef |grep nginx
测试访问
localhost:80
搭建LAMP环境
-
安装apache
yum install httpd httpd-devel
-
启动apache服务
systemctl start httpd # 设置httpd服务开机启动 systemctl enable httpd # 查看服务状态 systemctl status httpd
防火墙开启80端口,浏览器访问本地ip进行测试登录
安装MySQL,请看上文
-
安装PHP
# 安装PHP yum -y install php rpm -ql php # 将php与mysql关联起来,安装出错,解决方法如下 yum install php-mysql rpm -ql php-mysql # 安装常用PHP模块 yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
# 安装php-mysql提示需要libmysqlclient.so.18()(64bit)的解决办法 1. wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 2. rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 3. yum install php-mysql
-
测试LAMP环境是否安装成功
> cd /var/www/html/ > vim info.php <?php phpinfo(); ?php> # 重启apache服务器 systemctl restart httpd # 测试PHP 在自己电脑浏览器输入 localhost/info.php