Linux服務器安裝與配置

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

配置端口

  1. 開放端口

    firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 開放5672端口
    
    firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #關閉5672端口
    
    firewall-cmd --reload   # 配置立即生效
    
  2. 查看防火墻所有開放的端口

    firewall-cmd --zone=public --list-ports
    
  3. 關閉防火墻

    # 如果要開放的端口太多痹雅,嫌麻煩,可以關閉防火墻惰匙,安全性自行評估
    systemctl stop firewalld.service
    
  4. 查看防火墻狀態(tài)

     firewall-cmd --state
    

配置yum國內鏡像

  1. 備份原鏡像文件铃将,以免出錯以后可以恢復

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
  2. 下載新的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
    
  3. 運行yum makecache生成緩存

    yum clean all
    yum makecache
    # 查看yum源信息
    yum repolist
    

配置JAVA

  1. java -version 查看系統(tǒng)自帶的openjdk是否存在

  2. 如果存在自帶的jdk 查看自帶jdk版本 rpm -qa | grep java

  3. 帶noarch文件可以不用刪除 其他的刪除 绘盟,如:rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

  4. 國內鏡像下載jdkhttps://repo.huaweicloud.com/java/jdk/8u151-b12/

  5. 解壓到/opt目錄 tar -zxvf jdk-8u151-linux-x64.tar.gz

  6. 設置環(huán)境變量 vim /etc/profile

    # 大寫G定位到文件最后,w快進到末尾吠卷,i進行寫入
    JAVA_HOME=/opt/jdk1.8.0_151
    export PATH=${JAVA_HOME}/bin:$PATH
    
  7. 使環(huán)境變量生效 source /etc/profile

  8. 查看是否安裝成功 java -version

安裝tomcat

  1. 去官網下載壓縮包https://tomcat.apache.org/download-80.cgi
  2. 解壓到/opt目錄下 tar -zxvf tomcat8
  3. cd /opt/apache-tomcat-8.5.59/bin
  4. 開啟tomcat ./startup.sh
  5. 關閉tomcat ./shutdown.sh

安裝Docker

  1. 卸載舊版本Docker(沒有安裝過可跳過)

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    
  2. 安裝必要的一些系統(tǒng)工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 添加軟件源信息(使用國內的阿里云祭隔,docker官網上國外地址網速太慢

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  4. 更新并安裝Docker-CE(個人版路操,如果是企業(yè)可選擇企業(yè)版屯仗,參考官網)

    # 官網地址:https://docs.docker.com/install/linux/docker-ee/centos/
    sudo yum makecache fast
    sudo yum -y install docker-ce
    
  5. 開啟docker服務

    sudo systemctl start docker   //centos7開啟服務是systemctl,centos6是service
    
  6. 檢查docker版本

    docker version
    
  7. 運行docker測試項目

    sudo docker run hello-world
    
  8. 配置阿里云鏡像加速器

    1. 打開鏈接https://cr.console.aliyun.com

    2. 登錄進入容器鏡像服務-鏡像中心-鏡像加速器

    3. 選擇<鏡像加速器>菜單桩撮,右邊會顯示你專屬的鏡像加速器地址店量,然后選擇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

  1. 安裝包下載并上傳到Linux系統(tǒng)中

    官網5.7版本 https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

  2. 解壓安裝包并安裝粟按,為了避免出現權限問題,給mysql解壓文件所在目錄賦予最大權限

tar -xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
chmod -R 777 mysql
  1. 安裝新版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
    
  2. 嚴格按照順序安裝如下這四個包:

    1. mysql-community-common-5.7.29-1.el7.x86_64.rpm
    2. mysql-community-libs-5.7.29-1.el7.x86_64.rpm
    3. mysql-community-client-5.7.29-1.el7.x86_64.rpm
    4. 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
  1. 配置數據庫

    vim /etc/my.cnf
    # 添加這三行
    skip-grant-tables 跳過登錄驗證
    character_set_server=utf8 設置默認字符集UTF-8
    init_connect='SET NAMES utf8' 設置默認字符集UTF-8
    
  2. 啟動mysql服務

    # 設置開機啟動
    systemctl start mysqld.service
    # 啟動mysql
    mysql
    
  3. 設置密碼和開啟遠程登錄

    # 先設置密碼
    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');
    
  4. 安裝完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 整個密碼中至少要包含特殊字符的個數闸迷;
    
  1. 開放3306端口

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    # --zone #作用域
    # --add-port=80/tcp #添加端口腥沽,格式為:端口/通訊協(xié)議
    # --permanent #永久生效,沒有此參數重啟后失效
    
    # 重啟防火墻
    firewall-cmd --reload
    
  2. 開啟遠程登錄

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
# by后面的就是遠程登錄密碼师溅,遠程登錄密碼可以和用戶密碼不一樣

安裝Redis

  1. 下載地址:http://redis.io/download,下載最新穩(wěn)定版本汹押。

  2. 解壓 tar -zxvf redis-6.0.9.tar.gz

  3. 進入redis目錄cd redis-6.0.9

  4. 執(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
    
  5. 啟動redis服務

    # 啟動方式一颠毙,這種方式啟動 redis 使用的是默認配置
    cd src
    ./redis-server
    # 啟動方式二蛀蜜,通過啟動參數告訴 redis 使用指定配置文件使用下面命令啟動。
    cd src
    ./redis-server ../redis.conf
    
    # redis.conf 是一個默認的配置文件闹伪∽吵兀可以根據需要使用自己的配置文件椰憋。
    
  6. 啟動測試

    # cd src
    # ./redis-cli
    redis> set foo bar
    OK
    redis> get foo
    "bar"
    
  7. 設置開機自啟動

    # 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

  1. 安裝gcc

    # 查看是否有gcc環(huán)境
    gcc -v
    # 安裝gcc
    yum -y install gcc
    
  2. pcre软族、pcre-devel安裝

    # pcre是一個perl庫立砸,包括perl兼容的正則表達式庫,nginx的http模塊使用pcre來解析正則表達式浊闪,所以需要安裝pcre庫螺戳。
    yum install -y pcre pcre-devel
    
  3. zlib安裝

    # zlib庫提供了很多種壓縮和解壓縮方式nginx使用zlib對http包的內容進行gzip温峭,所以需要安裝
    yum install -y zlib zlib-devel
    
  4. 安裝openssl

    # openssl是web安全通信的基石
    yum install -y openssl openssl-devel
    
  5. 下載nginx安裝包

    # 官網下載地址
    http://nginx.org/en/download.html
    
  6. 解壓nginx

    tar -zxvf nginx-1.18.0.tar.gz
    
  7. 進入nginx安裝目錄執(zhí)行命令

    ./configure
     
    make
     
    make install
    
  8. 查看nginx編譯后安裝的目錄

    > whereis nginx
    > nginx: /usr/local/nginx
    
  9. 切換到nginx安裝目錄凤藏,配置nginx的配置文件nginx.conf

    # 配置自定義占用端口號堕伪,可以保持默認80
    vim /usr/local/nginx/conf/nginx.conf
    
  10. 啟動nginx欠雌,切換目錄到/usr/local/nginx/sbin下面啟動nginx./nginx

  11. 查看nginx服務是否啟動成功ps -ef |grep nginx

  12. 測試訪問 localhost:80

搭建LAMP環(huán)境

  1. 安裝apache

    yum install httpd httpd-devel
    
  2. 啟動apache服務

    systemctl start  httpd
    
    # 設置httpd服務開機啟動
    systemctl enable  httpd
    
    # 查看服務狀態(tài)
    systemctl status httpd
    
  3. 防火墻開啟80端口疙筹,瀏覽器訪問本地ip進行測試登錄

  4. 安裝MySQL而咆,請看上文

  5. 安裝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
    
  6. 測試LAMP環(huán)境是否安裝成功

    > cd /var/www/html/
    > vim info.php
    
    <?php
    phpinfo();
    ?php>
    
    # 重啟apache服務器
    systemctl restart httpd
    
    # 測試PHP
    在自己電腦瀏覽器輸入 localhost/info.php
    
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市障癌,隨后出現的幾起案子涛浙,更是在濱河造成了極大的恐慌,老刑警劉巖晾捏,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異仓手,居然都是意外死亡玻淑,警方通過查閱死者的電腦和手機补履,發(fā)現死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門箫锤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雨女,“玉大人阳准,你說我怎么就攤上這事野蝇。” “怎么了锐想?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵痛倚,是天一觀的道長澜躺。 經常有香客問我掘鄙,道長,這世上最難降的妖魔是什么收津? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任撞秋,我火速辦了婚禮吻贿,結果婚禮上哑子,老公的妹妹穿的比我還像新娘。我一直安慰自己帐要,他們只是感情好榨惠,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布赠橙。 她就那樣靜靜地躺著,像睡著了一般剂邮。 火紅的嫁衣襯著肌膚如雪横侦。 梳的紋絲不亂的頭發(fā)上枉侧,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天榨馁,我揣著相機與錄音,去河邊找鬼屑柔。 笑死珍剑,一個胖子當著我的面吹牛,可吹牛的內容都是我干的唧瘾。 我是一名探鬼主播饰序,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼求豫,長吁一口氣:“原來是場噩夢啊……” “哼由缆!你這毒婦竟也來了均唉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤肚菠,失蹤者是張志新(化名)和其女友劉穎舔箭,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡层扶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年箫章,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镜会。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡檬寂,死狀恐怖,靈堂內的尸體忽然破棺而出桶至,到底是詐尸還是另有隱情,我是刑警寧澤匾旭,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布镣屹,位于F島的核電站,受9級特大地震影響价涝,放射性物質發(fā)生泄漏女蜈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一色瘩、第九天 我趴在偏房一處隱蔽的房頂上張望伪窖。 院中可真熱鬧,春花似錦居兆、人聲如沸惰许。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汹买。三九已至,卻和暖如春聊倔,著一層夾襖步出監(jiān)牢的瞬間晦毙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工耙蔑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留见妒,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓甸陌,卻偏偏與公主長得像须揣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钱豁,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內容