LNMP的虛擬主機配置http和https

項目實戰:
    搭建LNMP環境:Linux+Nginx+Mysql(MariaDB)+php(php-fpm),創建多個虛擬主機:
    主機1提供正常的http服務,用于安裝wordpress博客;
    主機2提供正常的https服務,用于安裝phpMyAdmin,用圖形界面去管理MySQL(MariaDB)數據庫;

項目實戰步驟:
1.安裝nginx:
    (1)使用已經下載好的nginx的rpm包進行安裝:
        CentOS6:yum install -y nginx-1.6.2-1.el6.ngx.x86_64.rpm
        CentOS7:yum install -y nginx-1.10.0-1.el7.ngx.x86_64.rpm
    (2)使用阿里云的epel源進行直接安裝
        CentOS6:http://mirrors.aliyun.com/epel/6/x86_64
        CentOS7:http://mirrors.aliyun.com/epel/7/x86_64
        yum -y install nginx
2.安裝數據庫:
        CentOS6:yum -y install mysql mysql-server
        CentOS7:yum -y install mariadb mariadb-server
        vim /etc/my.cnf
        [mysqld]
        skip_name_resolve=ON
        innodb_file_per_table=ON
        mysql_secure_installation(啟動服務之后,進行初始化mysql數據庫)
3.安裝php的插件:
        yum install -y php-fpm php-mysql php-gd php-mcrypt php-mbstring
4.啟動服務:
        CentOS6:
            service nginx start
            service mysqld start
            service php-fpm start
        CentOS7:
            systemctl start nginx.service
            systemctl start mariadb.service
            systemctl start php-fpm.service
5.關閉防火墻和SELinux:
        iptables -F
        setenforce 0
6.http配置wordpress;
    (1)配置php-fpm:
        vim /etc/php-fpm.d/www.conf
        將里面的user和group 由apache更改為nginx
        創建/var/lib/php/session并將其屬主屬組更改為nginx
        mkdir /var/lib/nginx/session
        chown -R nginx:nginx /var/lib/nginx/session
        systemctl restart php-fpm.service 
    (2)配置php-fpm的虛擬主機:
        將默認的default.conf進行備份:
        mv /etc/nginx/conf.d/default.conf{,.bak}
        新創建虛擬nginx主機的配置文件:
        vim /etc/nginx/conf.d/wordpress.conf
        server {
            listen 80;
            server_name www.sjsir.com;
            location / {
                root /var/www/html;
                index index.php index.html index.htm; 
            }
            location ~* \.(php)$ {
                root /var/www/html;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
                include fastcgi_params; 
            }

        }
    (3)搭建wordpress;(wordpress-4.6.1.zip設置界面為英文版)
        cd /var/www/html
        rz wordpress-4.6.1.zip
        unzip wordpress-4.6.1.zip
        rm -rf wordpress-4.6.1.zip
        mv wordpress/* .
    (4)為wordpress創建mysql數據庫的數據;
        #mysql -uroot -p(root用戶的mysql密碼)
        mysql>CREATE DATABASE wordpress;
        mysql>GRANT ALL ON wordpress.* TO 'wordpress'@'127.0.0.1' IDENTIFIED BY 'wordpresspass';
        mysql>exit
    (5)用瀏覽器訪問192.168.1.104:
        點擊Let's go!
        blob.png

        按照之前設置的信息,將下面修改正確,之后Submit;

        blob.pngimages\4-2.png
        將上圖藍色中的內容復制下來,并創建后粘貼到/var/www/html/wp-config.php

        blob.pngimages\4-3.png
            vim /var/www/html/wp-config.php
            粘貼到此處
            回到瀏覽器點擊Run the install 
            按照下圖填入必要信息:
         blob.png

            然后會出現以下頁面,表示安裝成功;
        blob.png   
            登錄wordpress,會發現英文版的wordpress-4.6.1已經安裝成功:

        blob.pngimages\4-6.png
7.https配置pma:
    (1)配置pma的虛擬主機:
        server {
            listen 443 ssl;
            server_name www.sjsir.wang;
            ssl on;
            ssl_certificate /etc/nginx/ssl/nginx.crt;
            ssl_certificate_key /etc/nginx/ssl/nginx.key;
            ssl_session_cache shared:sslcache:20m;
            location / {
                root /var/www/pma;
                index index.php index.html index.htm;
            }
            location ~* \.(php)$ {
                root /var/www/pma;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/pma$fastcgi_script_name;
                include fastcgi_params;
            }
        }
    (2)配置https:
        cd /etc/pki/CA/
        (umask 077;openssl -out private/cakey.pem 4096)
        openssl genrsa -new -x509 private/cakey.pem -out cecurt.pem
            CN Beijing Beijing Sjsir Ops ca.sjsir.cn
        touch index.txt
        echo 01 > serial
        cd /etc/nginx
        mkdir ssl
        cd ssl
        (umask 077;openssl genrsa -out nginx.key 4096)
        openssl req -new -key nginx.key -out nginx.csr

            CN Beijing Beijing Sjsir Ops ca.sjsir.cn

       openssl ca -in nginx.csr -out nginx.crt
    (3)配置pma:
        mkdir /var/www/pma
        cd /var/www/pma
        rz phpMyAdmin-4.0.5-all-languages.zip
        unzip phpMyAdmin-4.0.5-all-languages.zip
        mv phpMyAdmin/* .
        rm -rf phpMyAdmin/
        mv config.sample.inc.php config.inc.php 
    (4)測試:https://192.168.1.104
        就可以看到:

       blob.png
        輸入賬號和密碼登錄進去,就可以看到mariadb數據庫:
        blob.png        
    注意:
        (1)在實驗之前一定要關閉防火墻和SELinux,以免系統因為iptables和SELinux的設置而連接不上;
        (2)配置pma時,一定要配置php的fastcgi模塊,或單獨的php模塊,不配置的話,用php編寫的pma就無法使用;
        (3)配置pma時,一定要安裝php-mcrypt模塊,該模塊位于epel源中(以阿里云的7系列的epel源:http://mirrors.aliyun.com/epel/7/x86_64)。
        (4)搭建該實驗環境時,應該注意參考日志文件,以確定發生什么樣的問題,/var/log/messages /var/log/nginx/error.log /var/log/nginx/access.log
            當測試時,發現無法連接服務器,例如500的錯誤,需要查看/var/log/nginx/error.log
            當測試時,發現頁面能打開,但是不正常顯示,而且/var/log/nginx/error.log日志無日志記錄時,一定要去查看/var/log/nginx/access.log日志信息。有時服務器已經響應了,但是可能由于wordpress或pma的安裝包配置的問題而報錯,error.log不會存儲這些已經響應的日志,需要去查看access.log。

原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/56083

(0)
sjsirsjsir
上一篇 2016-10-30
下一篇 2016-10-30

相關推薦

  • Linux中的軟鏈接/硬鏈接

    Linux鏈接概念Linux鏈接分兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。 【硬連接】硬連接指通過索引節點來進行連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什么類型都給它分配一個編號,稱為索引節點號(Inode Index)。在Linux中,多個文件名指…

    Linux干貨 2016-10-20
  • SUID_SGID_Sticky簡單總結

    參考: http://blog.chinaunix.net/uid-25314474-id-3313109.html —————————————權限——&#82…

    Linux干貨 2015-09-14
  • 文件搜索之find的使用

    一.find介紹:   find是Linxu中一個十分常用的文件查找工具,其工作原理是通過遍歷啟起始路徑下文件層級結構完成的,其特點是查找速度慢,能做到實時查找和精確查找。 二.使用方法: find  start_path search_conditions  action 1.statr_path:所要查找的文件的起始位置,默…

    Linux干貨 2016-11-01
  • 免費翻墻 [精]

    本人在hostus上買了一個國外的vps,花了一上午把Google給做好,可以訪問g.abcdocker.com進行搜索,因為是使用nginx代理進行翻墻。網上的文章也很亂,很不好整理。 可以可以使用g.abcdocker.com上Google查閱資料。(無法觀看視頻) www.abcdocker.com

    2017-06-17
  • 27期第一周學習小結

    第一周 1. 描述計算機的組成及其功能。 計算機主要組成部分以下五種:運算器,控制器,存儲器,輸入設備,輸出設備。 運算器的功能是對數據進行算術運算與邏輯運算,就是對數據進行加工處理。 控制器的功能是調度二進制程序,數據,內存尋址,以及協調計算機輸入設備和輸出設備等各計算機部件之間的正常工作。 存儲器的功能是存儲二進制指令和數據。存儲器是編址存儲單元。 輸入…

    Linux干貨 2017-07-15
  • redis-cli的一些有趣也很有用的功能

    redis-cli我們最常用的三個參數就是-h、-p、-a選項,分配用來指定連接的redis-server的host、port和登錄密碼。通過redis-cli –help發現,redis-cli還提供了其他很多的參數和功能。 1)-x-x選項從標準輸入(stdin)讀取最后一個參數。 比如從管道中讀取輸入: echo -en &quot…

    Linux干貨 2016-04-13
欧美性久久久久