Lnmp環境配置

一、安裝前

  1. 更新系統軟件:

    yum update

  2. 查看是否已安裝wget:

    rpm -qa wget

    否則安裝:

     yum install wget
    
  3. 查看是否已安裝編譯器:

    rpm -qa gcc

    否則安裝:

    yum install gcc gcc-c++

二、安裝Nginx

  1. 安裝nginx依賴包

    nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法:

    yum -y install pcre pcre-devel

    nginx的各種模塊中需要使用gzip壓縮:

    yum -y install zlib zlib-devel

    安全套接字層密碼庫:

    yum -y install openssl openssl-devel

  2. 下載nginx包並解壓(到/usr/local/src目錄中)

    cd /usr/local/src

    wget http://nginx.org/download/nginx-1.12.2.tar.gz

    tar -zxvf nginx-1.12.2.tar.gz

  3. 編譯安裝(到/usr/local/nginx目錄中)

    cd nginx-1.12.2

    ./configure --prefix=/usr/local/nginx

    make

    make install

  4. 創建並設置nginx運行賬號:

    groupadd nginx

    useradd -M -g nginx -s /sbin/nologin nginx

    cd /usr/local/nginx/conf

    vim nginx.conf,設置user參數如下:

    user nginx nginx

    其他配置參數暫時無需改動。

  5. 設置nginx爲系統服務

    vim /lib/systemd/system/nginx.service

    文件內容:

    [Unit]

    Description=nginx

    After=network.target

    [Service]

    Type=forking

    ExecStart=/usr/local/nginx/sbin/nginx

    ExecReload=/usr/local/nginx/sbin/nginx -s reload

    ExecStop=/usr/local/nginx/sbin/nginx -s stop

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target

  6. 設置nginx開機自啓動

    systemctl enable nginx.service

  7. 開啓nginx服務:

    systemctl start nginx.service

    查看nginx是否啓動成功:

    ps aux | grep nginx

    在虛擬機瀏覽器中訪問測試:

    http://localhost

    出現以下界面則表示可以成功訪問:
    在這裏插入圖片描述

  8. 防火牆開放80端口(nginx默認使用80端口,可在nginx.conf中配置,若無需進行遠程訪問則不需要開放端口)

    永久開放80端口:

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    重啓防火牆:

    firewall-cmd --reload

    查看防火牆開啓狀態:

    systemctl status firewalld

    查看80端口是否開放成功:

    firewall-cmd --zone=public --query-port=80/tcp

    可在windows宿主主機瀏覽器直接訪問虛擬機ip測試是否可以成功訪問。

三、安裝Mysql

  1. 卸載已有mysql

    查看是否已安裝mysql:

    rpm -qa mysql

    有則卸載:

    rpm -e --nodeps 文件名稱

    是否存在與mysql相關的文件或目錄:

    whereis mysql

    是則刪除。

    查看是否存在mariadb:

    rpm -qa | grep mariadb

    存在則卸載:

    rpm -e --nodeps 文件名 //文件名是上一個命令查詢結果

    存在/etc/my.cnf,則需要先刪除:

    rm /etc/my.cnf

  2. 安裝編譯mysql需要的依賴包

    yum install libevent* libtool* autoconf* libstd* ncurse* bison* openssl*

  3. 安裝cmake(mysql5.5之後需要用cmake支持編譯安裝)

    查看是否已安裝cmake:

    rpm -qa cmake

    沒有則下載編譯安裝:

    cd /usr/local/src

    wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1.tar.gz

    tar -xf cmake-2.8.12.1.tar.gz

    cd cmake-2.8.12.1

    ./configure

    make

    make install

    檢查cmake是否安裝成功:

    cmake --version

  4. 下載mysql包並解壓(到/usr/local/src目錄)

    cd /usr/local/src

    wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.38.tar.gz

    tar -zxvf mysql-5.6.38.tar.gz

  5. 編譯安裝(到/usr/local/mysql目錄)

    cd mysql-5.6.38

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    make(此過程需花費大概20-30分鐘)

    make install

  6. 配置mysql

    groupadd mysql

    useradd -M -g mysql -s /sbin/nologin mysql

    chown -R mysql:mysql /usr/local/mysql

  7. 初始化配置

    cd /usr/local/mysql/scripts

    ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

  8. 設置mysql爲系統服務

    vim /lib/systemd/system/mysql.service

    文件內容:

    [Unit]

    Description=mysql

    After=network.target

    [Service]

    Type=forking

    ExecStart=/usr/local/mysql/support-files/mysql.server start

    ExecStop=/usr/local/mysql/support-files/mysql.server stop

    ExecRestart=/usr/local/mysql/support-files/mysql.server restart

    ExecReload=/usr/local/mysql/support-files/mysql.server reload

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target

  9. 設置mysql服務開機自啓動

    systemctl enable mysql.service

  10. 啓動mysql

    systemctl start mysql.service

    若是啓動失敗:
    在這裏插入圖片描述

    直接使用/usr/local/mysql/support-files/mysql.server restart啓動可以看到詳細錯誤原因:
    在這裏插入圖片描述
    若是這個原因,/var/lib/mysql這個目錄(用於存放mysql.sock)不存在的話,手動創建就好了:

    mkdir /var/lib/mysql

    chown -R mysql:mysql /var/lib/mysql

    再次啓動,成功了!

    查看是否啓動成功:

    ps aux | grep mysql

  11. 登錄mysql並設置root密碼:

    /usr/local/mysql/bin/mysql -u root

    set password=password(‘123456’);

四、安裝PHP

  1. 安裝php依賴包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
若提示yum中沒有可用的軟件包libmcrypt和libmcrypt-devel,則需要手動編譯安裝,可以先在windows宿主主機中前往libmcrypt官網下載然後使用rz指令將包上傳至centos7進行編譯安裝。我下載的包爲libmcrypt-2.5.8.tar.gz:

tar -zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure --prefix=/usr/local/libmcrypt

make

make install
  1. 下載php包並解壓

    cd /usr/local/src

    在windows上前往php官網下載php-7.2.0包,然後使用rz指令將下載好的php安裝包上傳到centos7上,解壓:

    tar -zxvf php-7.2.0.tar.gz

  2. 編譯安裝(到/usr/local/php目錄)

    cd php-7.2.0

./configure --prefix=/usr/local/php --disable-fileinfo --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear  --enable-bcmath

(注意:–with-mcrypt參數指定的是libmcrypt的安裝目錄。Php7不再使用mysql的庫來支持mysql的連接,而是啓用了mysqlnd來支持,所以php7的編譯已經不再使用–with-mysql參數指定mysql的安裝位置了,若想支持mysql,需要設置–enable-mysqlnd、–with-mysqli和–with-pdo-mysql=mysqlnd參數,–with-mysql-sock指定的是編譯mysql時-DMYSQL_UNIX_ADDR參數指定的文件)

make(此過程需花費大概20分鐘)

make install

  1. 將php包解壓目錄中的配置文件放置到正確位置(configure命令中的–with-config-file-path設置的位置)

cp php.ini-development /etc/php.ini

  1. 創建並設置php-fpm運行賬號

    groupadd www-data

    useradd -M -g www-data -s /sbin/nologin www-data

    cd /usr/local/php/etc

    cp php-fpm.conf.default php-fpm.conf

    vim php-fpm.conf

    發現搜索不到“user”(設置運行賬號的位置),但發現文件的最後一行:

    所以:

    cd php-fpm.d

    cp www.conf.default www.conf(否則include匹配不到文件)

    vim www.conf

    搜索“user”設置運行賬號:
    在這裏插入圖片描述
    user=www-data

    group=www-data

  2. 配置nginx支持php

    vim /usr/local/nginx/conf/nginx.conf
    在這裏插入圖片描述
    修改完成之後記得重啓nginx服務:

    systemctl start nginx.service

  3. 設置php-fpm爲系統服務:

    vim /etc/systemd/system/php-fpm.service

    文件內容:

    [Unit]

    Description=php-fpm

    After=network.target

    [Service]

    Type=forking

    ExecStart=/usr/local/php/sbin/php-fpm

    PrivateTmp=True

    [Install]

    WantedBy=multi-user.target

  4. 設置php-fpm服務開機自啓動:

    systemctl enable php-fpm.service

  5. 啓動php-fpm:

    systemctl start php-fpm.service

    查看是否啓動成功:

    ps aux | grep php-fpm

10.寫一個php腳本測試nginx是否已支持php,php是否已支持mysql。

<?php phpinfo();   至此,LNMP搭建完成! PHP擴展安裝說明:   若想安裝一些PHP擴展,首先可以在PHP源碼目錄下的ext子目錄中查找是否存在你想安裝的擴展,不存在則下載,存在則直接進入擴展源碼目錄進行安裝操作,下面以安裝pcntl擴展爲例進行說明。 首先編譯源碼安裝pcntl擴展: cd /usr/local/src/php-7.0.27/ext/pcntl (進入擴展源碼目錄) /usr/local/php/bin/phpize(取決於你安裝php之後phpize文件的位置) ./configure --with-php-config=/usr/local/php/bin/php-config(取決於你安裝php之後php-config文件的位置) make make install 然後修改php配置文件: vim /etc/php.ini extension=pcntl.so 最後重啓php-fpm服務: systemctl reload php-fpm.service ok,到此結束,搞定!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章