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 16:48
下一篇 2016-10-30 16:52

相關推薦

  • 運維學習筆記-看看別人家的Puppet代碼

    這篇博客的目的是通過分析Forge上的Puppet模塊來加深一些概念的理解,同時了解一些常用用法。 今天的例子是jfryman-nginx模塊,它是原puppetlabs-nginx模塊的升級版本,依賴3個Puppet公共模塊:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安裝非常方便,puppet m…

    Linux干貨 2016-06-23
  • TCP三次握手和四次揮手

    TCP三次握手 有兩臺機器,A是客戶端(主動發起請求的人),B是服務器端(被動接受請求的人),客戶端A剛開始沒有人和他通訊,所以客戶端A的狀態是CLOSDE(關閉的),服務器端B剛開始的狀態也是CLOSDE,但是總有人去訪問他,所以服務器端B開啟了LISTEN(收聽)狀態。 (1)假設A機器想鏈接B機器了,他就會向B機器發送一個建立鏈接的請求,這個建立鏈接請…

    2017-08-31
  • 隨筆—SVN倉庫轉換為Git倉庫

    假設需要轉換的SVN倉庫地址為:https://tmp/svn 1、使用git svn clone命令開始轉換 $ git svn clone https://tmp/svn -T trunk -b branches -t tags #git svn…

    Linux干貨 2016-07-04
  • 文本處理工具sed的使用以及Vim的使用技巧詳解

    一、什么是sed     sed的英文全稱是Stream EDitor,叫行編輯器。     sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容…

    Linux干貨 2016-08-11
  • 壓縮和歸檔——釋放你的磁盤空間

    壓縮和解壓縮工具 壓縮比:文件壓縮比就是指文件經過壓縮后的文件大小與源文件大小的一個比差,經過壓縮工具包可以把文件壓縮 壓縮的目的:      時間換空間      CPU時間換硬盤的空間 壓縮工具: compress/uncompress 以.Z作為文件后綴 gzip/gunz…

    Linux干貨 2016-08-18
  • Centos圖形界面和命令行界面切換—-使用init

    1、從圖形界面切換到命令行界面      點擊Applications–System Tools–Terminal。    打開后輸入: su root(運行init需要管理員權限) 按回車,輸入init 3或者init 2都可以,然后回車就可以    進入命令行界…

    Linux干貨 2015-11-10
欧美性久久久久