1.lnmp實現多個虛擬主機,分別部署wordpress和phpmyadmin應用,並設置phpmyadmin僅能經過https協議訪問;php
a.實現wordpress部署mysql
一:部署wordpress
nginx
1)安裝,nginx,php-fpm,mysql-server,php-mysqlweb
2)啓動nginx。php-fpm,mariadb服務sql
3)配置nginx的主配置文件
數據庫
在http上下文裏面寫入一條include /nginx/vhost/*.conf;能夠讓/nginx/vhost/全部.conf結尾的文件中,全部http上下文內的指令生效;瀏覽器
4)在/nginx/vhost/建立一個配置文件;bash
配置內容以下
服務器
server { listen 8000;監聽8000端口 server_name www.myadmin.com;服務名稱 location ~ \.php$ { root /myweb/word; 資源映射路徑 index index.php; 默認的主頁 fastcgi_index index.php; //php-fpm默認反向代理的資源文件名 fastcgi_pass 127.0.0.1:9000; //將請求的資源經過指定套接字發送給反向代理服務器 fastcgi_param SCRIPT_FILENAME /myweb/word/$fastcgi_script_name; //php使用SCRIPT_FILENAME腳本執行/myweb/word/下的相應文件 include /etc/nginx/fastcgi_params; } }
5)從新載入配置文件,並經過瀏覽器訪問ide
6)使用mysql建立用戶,數據庫,並給予相應的權限
7) 登陸後,進入以下配置頁面,須要在wordpress目錄下建立wp-config.php並將下面指定文字複製進去
8)完成後,刷新,便可
二:使用https配置phpmyadmin
1)同理,建立新的配置文件
server { listen 443 ssl; server_name www.word.com; ssl_certificate /nginx/ssl/nginx.crt; //CA頒發的證書 ssl_certificate_key /nginx/ssl/nginx.key; //對應的私鑰 location / { root /myweb/myadmin; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /myweb/myadmin/$fastcgi_script_name; include /etc/nginx/fastcgi_params; } }
2)此前,須要自行給nginx頒發證書
在一個指定目錄建立一個私鑰,好比爲nginx.key # (umask 066;openssl genrsa -out nginx.key 2048) Generating RSA private key, 2048 bit long modulus .........................+++ .....................................+++ e is 65537 (0x10001) 使用該私鑰作證書申請(後綴應爲.csr)好比:nginx.csr # openssl req -new -key nginx.key -out nginx.csr -days 365 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]: State or Province Name (full name) []:HEBEI Locality Name (eg, city) [Default City]:QHD 注意:應該保證此證書的國家省份和市與CA頒發機構的一致 給nginx頒發證書,通常頒發須要在/etc/pki/CA目錄下進行,因此 [root@bogon CA]# openssl ca -in nginx.csr -out certs/nginx.crt -days 365 頒發完成後,將頒發的證書複製到私鑰所在目錄
3)建立相應的資源站點,重啓服務,使用https登陸
使用本地用戶和密碼登陸
結束
2.配置即便客戶端經過http協議訪問phpmyadmin站點,最終也能夠讓用戶使用https從新請求訪問;
1)須要咱們作一個uri重定向
我在端口號爲80的server下配置
location ~ \.php$ { root /myweb/myadmin; index index.php; rewrite ^/(.*\.php)$ //當咱們訪問以.php結尾的重定向uir到https://172.16.0.149/尋找相應的資源,你訪問的什麼$1就表明什麼 } }
2)保存退出,重載服務
3)咱們使用火狐瀏覽器的F12能夠查看數據請求響應 的具體過程,能夠看到,咱們訪問172.16.0.149:80的時候,他們進行臨時的轉發