Centos7
配置靜態(tài)IP
# 1. 編寫網絡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 2. 主要配置點
1. BOOTPROTO="static" # 靜態(tài)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
-
查看防火墻狀態(tài)
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
查看系統(tǒng)自帶的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
-
設置環(huán)境變量
vim /etc/profile
# 大寫G定位到文件最后,w快進到末尾吠卷,i進行寫入 JAVA_HOME=/opt/jdk1.8.0_151 export PATH=${JAVA_HOME}/bin:$PATH
使環(huán)境變量生效
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
-
安裝必要的一些系統(tǒng)工具
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(個人版路操,如果是企業(yè)可選擇企業(yè)版屯仗,參考官網)
# 官網地址: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系統(tǒng)中
官網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或者系統(tǒng)自帶的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安岂,執(zhí)行 systemctl start mysqld.service發(fā)現啟動不了 # 安裝mysql之前檢查下libaio.so.1的位置 whereis libaio.so.1 # 如果執(zhí)行了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 #添加端口腥沽,格式為:端口/通訊協(xié)議 # --permanent #永久生效,沒有此參數重啟后失效 # 重啟防火墻 firewall-cmd --reload
開啟遠程登錄
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# by后面的就是遠程登錄密碼师溅,遠程登錄密碼可以和用戶密碼不一樣
安裝Redis
下載地址:http://redis.io/download,下載最新穩(wěn)定版本汹押。
解壓
tar -zxvf redis-6.0.9.tar.gz
進入redis目錄
cd redis-6.0.9
-
執(zhí)行 make 命令棚贾,之后redis-6.0.9 的 src 目錄下會出現編譯后的 redis 服務程序 redis-server,還有用于測試的客戶端程序 redis-cli:
# 報錯一:執(zhí)行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或重啟就會恢復原系統(tǒng)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 會發(fā)現服務已經在運行了
安裝Nginx
-
安裝gcc
# 查看是否有gcc環(huán)境 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安裝目錄執(zhí)行命令
./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環(huán)境
-
安裝apache
yum install httpd httpd-devel
-
啟動apache服務
systemctl start httpd # 設置httpd服務開機啟動 systemctl enable httpd # 查看服務狀態(tài) 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環(huán)境是否安裝成功
> cd /var/www/html/ > vim info.php <?php phpinfo(); ?php> # 重啟apache服務器 systemctl restart httpd # 測試PHP 在自己電腦瀏覽器輸入 localhost/info.php