項目實戰:
搭建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!
按照之前設置的信息,將下面修改正確,之后Submit;
將上圖藍色中的內容復制下來,并創建后粘貼到/var/www/html/wp-config.php
vim /var/www/html/wp-config.php
粘貼到此處
回到瀏覽器點擊Run the install
按照下圖填入必要信息:
然后會出現以下頁面,表示安裝成功;
登錄wordpress,會發現英文版的wordpress-4.6.1已經安裝成功:
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
就可以看到:
輸入賬號和密碼登錄進去,就可以看到mariadb數據庫:
注意:
(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