您好,登錄后才能下訂單哦!
0.說明
內容會有點多,但是下面的內容都是自己在學習LNMP環境搭建過程中的完整再現,所以非常具有參考價值!
下面用一個以最小化方式(Minimal)安裝的CentOS 6.5操作系統為例,演示LNMP環境完整搭建過程,并且最后部署了一個WordPress博客,最后完成的效果如下:
1.關于實驗環境的說明
本次實驗的測試環境使用的宿主機操作系統為Windows 7,在Vmware虛擬機安裝CentOS 6.5,說明如下:
宿主機操作系統Windows 7
虛擬機安裝的操作系統CentOS 6.5
虛擬機操作系統上網方式NAT
而當使用NAT的方式進行上網時虛擬機、宿主機之間的網絡連接關系可如下所示:
關于為什么網絡拓撲結構是這樣的,這里不展開說明,可以參考博主的另一篇博文《在實踐中深入理解VMware虛擬機的上網模式NAT模式》,這篇文章深入地分析了VMware虛擬機使用NAT模式上網時的網絡結構細節,相信看完這篇文章后,這里搭建Nginx的實驗環境也就很容易理解了。
所以首先,應該是自己先配置好網絡環境,讓宿主機跟我們的虛擬機可以通信,實際上,如果理解了VMware虛擬機上網方式的原理,同時對CentOS的網絡配置也很熟悉,這一步是可以很輕松完成的,這里就不給出過程了,這里所用的IP地址跟上面的圖示是一樣的。
最后,我們是在宿主機上訪問我們搭建的WordPress博客的,非常不錯,可以體驗一下!
2.LNMP環境搭建:Nginx安裝、測試與域名配置
事實上,在另一篇博文中有非常詳細的介紹《在CentOS上編譯安裝Nginx+實驗環境搭建+測試》,不過這里為了完整性,依然會給出所有步驟,只是過程會簡化很多。
(1)Nginx安裝
1.安裝Nginx依賴函數庫pcre、openssl-devel
[root@leaf ~]# yum install -y pcre pcre-devel openssl openssl-devel ...... [root@leaf ~]# rpm -q pcre pcre-devel openssl openssl-devel pcre-7.8-7.el6.x86_64 pcre-devel-7.8-7.el6.x86_64 openssl-1.0.1e-48.el6_8.4.x86_64 openssl-devel-1.0.1e-48.el6_8.4.x86_64
2.下載安裝Nginx
這里使用Nginx1.6.3,如下:
# 下載Nginx [root@leaf ~]# yum install -y wget [root@leaf ~]# mkdir tools [root@leaf ~]# cd tools/ [root@leaf tools]# wget http://nginx.org/download/nginx-1.6.3.tar.gz [root@leaf tools]# ll 總用量 788 -rw-r--r--. 1 root root 805253 4月 8 2015 nginx-1.6.3.tar.gz # 解壓縮 [root@leaf tools]# tar zxf nginx-1.6.3.tar.gz [root@leaf tools]# ll 總用量 792 drwxr-xr-x. 8 1001 1001 4096 4月 7 2015 nginx-1.6.3 -rw-r--r--. 1 root root 805253 4月 8 2015 nginx-1.6.3.tar.gz # 指定編譯參數 [root@leaf tools]# yum install -y gcc # 需要先安裝gcc [root@leaf tools]# mkdir /application # 作為Nginx的安裝目錄 [root@leaf tools]# useradd nginx -s /sbin/nologin -M [root@leaf tools]# tail -1 /etc/passwd nginx:x:500:500::/home/nginx:/sbin/nologin [root@leaf tools]# cd nginx-1.6.3 [root@leaf nginx-1.6.3]# ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.6.3/ --with-http_stub_status_module --with-http_ssl_module [root@leaf nginx-1.6.3]# echo $? # 結果輸出0則說明命令執行成功 0 # 編譯 [root@leaf nginx-1.6.3]# make [root@leaf nginx-1.6.3]# echo $? 0 # 安裝 [root@leaf nginx-1.6.3]# make install [root@leaf nginx-1.6.3]# echo $? 0 # 建立安裝目錄的軟鏈接 [root@leaf nginx-1.6.3]# ln -s /application/nginx-1.6.3/ /application/nginx [root@leaf nginx-1.6.3]# ls -l /application/ 總用量 4 lrwxrwxrwx. 1 root root 25 3月 4 04:28 nginx -> /application/nginx-1.6.3/ drwxr-xr-x. 6 root root 4096 3月 4 04:27 nginx-1.6.3
(2)Nginx測試
1.啟動Nginx
[root@leaf ~]# /application/nginx/sbin/nginx -t # 檢查配置文件 nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful [root@leaf ~]# /application/nginx/sbin/nginx # 啟動Nginx服務
2.CentOS上驗證Nginx服務
[root@leaf ~]# netstat -lntup | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3929/nginx [root@leaf ~]# curl localhost <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h2>Welcome to nginx!</h2> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a >nginx.org</a>.<br/> Commercial support is available at <a >nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
3.宿主機上驗證Nginx服務
在宿主機瀏覽器上輸入CentOS主機的IP地址10.0.0.101,如下:
(3)域名配置
這一部分的內容在另一篇博文也有很詳細的介紹《Nginx配置多個基于域名的虛擬主機+實驗環境搭建+測試》,可以參考一下,所以這里不會給出非常詳細的說明。
因為要搭建一個博客服務,所以這里配置的域名為blog.xpleaf.org,操作過程如下:
1.最小化配置文件
[root@leaf ~]# cd /application/nginx/conf/ [root@leaf conf]# wc -l nginx.conf 117 nginx.conf [root@leaf conf]# wc -l nginx.conf.default 117 nginx.conf.default [root@leaf conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf [root@leaf conf]# wc -l nginx.conf 22 nginx.conf [root@leaf conf]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
2.修改配置文件
修改nginx.conf,并且增加配置文件extra/blog.conf,如下:
[root@leaf conf]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra/blog.conf; } [root@leaf conf]# cat extra/blog.conf server { listen 80; server_name blog.xpleaf.org; location / { root html/blog; index index.html index.htm; } }
3.創建域名對應的站點目錄及文件
[root@leaf conf]# cd ../html/ [root@leaf html]# mkdir blog [root@leaf html]# echo "This page is: blog.xpleaf.org">blog/index.html [root@leaf html]# cat blog/index.html This page is: blog.xpleaf.org
4.重啟Nginx服務
[root@leaf html]# /application/nginx/sbin/nginx -t nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok [root@leaf html]# /application/nginx/sbin/nginx -s reload # 平滑重啟
5.CentOS 6.5上進行測試
先修改/etc/hosts文件:
[root@leaf html]# echo "127.0.0.1 blog.xpleaf.org" >>/etc/hosts [root@leaf html]# tail -1 /etc/hosts 127.0.0.1 blog.xpleaf.org
再使用命令測試:
[root@leaf html]# curl blog.xpleaf.org This page is: blog.xpleaf.org [root@leaf html]# wget blog.xpleaf.org --2017-03-04 04:58:42-- http://blog.xpleaf.org/ 正在解析主機 blog.xpleaf.org... 127.0.0.1 正在連接 blog.xpleaf.org|127.0.0.1|:80... 已連接。 已發出 HTTP 請求,正在等待回應... 200 OK 長度:30 [text/html] 正在保存至: “index.html.1” 100%[====================================>] 30 --.-K/s in 0s 2017-03-04 04:58:42 (2.14 MB/s) - 已保存 “index.html.1” [30/30])
6.宿主機Windows 7上進行測試
同樣是先修改hosts文件,Windows 7的hosts文件在C:\Windows\System32\drivers\etc,同樣添加下面一行:
10.0.0.101 blog.xpleaf.org
使用瀏覽器訪問blog.xpleaf.org,如下:
那么到這里,LNMP的環境中,Nginx的安裝已經完成了,你是否安裝成功了呢?
3.LNMP環境搭建:MySQL安裝與基本安全優化
這里采用二進制安裝的方式來安裝MySQL,安裝的版本為:MySQL Server 5.5.54,可以在https://dev.mysql.com/downloads/mysql/5.5.html#downloads中下載。
MySQL安裝完成后會做一些基本的安全優化。
(1)MySQL安裝
1.創建MySQL用戶的賬號
[root@leaf ~]# groupadd mysql [root@leaf ~]# useradd -s /sbin/nologin -g mysql -M mysql [root@leaf ~]# tail -1 /etc/passwd mysql:x:501:501::/home/mysql:/sbin/nologin
2.下載MySQL
可以使用wget來進行安裝,也可以先下載到Windows 7上,然后使用SecureCRT,在CentOS上使用rz命令(需要使用yum install -y lrzsz命令安裝)上傳到我們的CentOS上,其實不管哪一種方式,只要有方式獲取到該安裝包就可以了,下面使用的是wget獲取安裝包的方式:
[root@leaf tools]# wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54-linux2.6-x86_64.tar.gz [root@leaf tools]# ls -l mysql-5.5.54-linux2.6-x86_64.tar.gz -rw-r--r--. 1 root root 185911232 3月 3 13:34 mysql-5.5.54-linux2.6-x86_64.tar.gz
3.解壓并移到指定目錄
[root@leaf tools]# tar xf mysql-5.5.54-linux2.6-x86_64.tar.gz [root@leaf tools]# mv mysql-5.5.54-linux2.6-x86_64 /application/mysql-5.5.54 [root@leaf tools]# ln -s /application/mysql-5.5.54/ /application/mysql [root@leaf tools]# ls -l /application/ 總用量 8 lrwxrwxrwx. 1 root root 26 3月 4 06:43 mysql -> /application/mysql-5.5.54/ drwxr-xr-x. 13 root root 4096 3月 4 06:42 mysql-5.5.54 lrwxrwxrwx. 1 root root 25 3月 4 04:28 nginx -> /application/nginx-1.6.3/ drwxr-xr-x. 11 root root 4096 3月 4 04:30 nginx-1.6.3
4.初始化MySQL配置文件
[root@leaf mysql]# cp support-files/my-small.cnf /etc/my.cnf cp:是否覆蓋"/etc/my.cnf"? y
5.初始化MySQL數據庫文件
[root@leaf mysql]# mkdir -p /application/mysql/data/ [root@leaf mysql]# chown -R mysql.mysql /application/mysql [root@leaf mysql]# yum install -y libaio # 安裝MySQL依賴函數庫,否則下面的初始化會失敗 [root@leaf mysql]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql ...... # 輸出結果可以看到兩個OK,即說明初始化成功 [root@leaf mysql]# echo $? # 或者通過該命令,輸出為0,即說明上一個步驟的命令執行成功 0 # 上面之后可以看到/application/mysql/data/目錄下生成的數據庫文件
6.配置并啟動MySQL數據庫
#(1)設置MySQL啟動腳本 [root@leaf mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@leaf mysql]# chmod +x /etc/init.d/mysqld [root@leaf mysql]# ls -l /etc/init.d/mysqld -rwxr-xr-x. 1 root root 10875 3月 4 06:56 /etc/init.d/mysqld #(2)替換啟動腳本中MySQL默認的安裝路徑/usr/local/mysql [root@leaf mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld #(3)啟動MySQL數據庫 [root@leaf mysql]# /etc/init.d/mysqld start Starting MySQL.Logging to '/application/mysql/data/leaf.err'. ... SUCCESS! #(4)檢查MySQL數據庫是否啟動 [root@leaf mysql]# netstat -lntup | grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 4400/mysqld #(5)查看日志 [root@leaf mysql]# tail -10 /application/mysql/data/leaf.err InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created 170304 7:00:28 InnoDB: Waiting for the background threads to start 170304 7:00:29 InnoDB: 5.5.54 started; log sequence number 0 170304 7:00:29 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 170304 7:00:29 [Note] - '0.0.0.0' resolves to '0.0.0.0'; 170304 7:00:29 [Note] Server socket created on IP: '0.0.0.0'. 170304 7:00:29 [Note] Event Scheduler: Loaded 0 events 170304 7:00:29 [Note] /application/mysql/bin/mysqld: ready for connections. Version: '5.5.54' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL) #(6)設置MySQL開機啟動 [root@leaf mysql]# chkconfig --add mysqld [root@leaf mysql]# chkconfig mysqld on [root@leaf mysql]# chkconfig --list mysqld mysqld 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉 #(7)配置mysql命令的全局使用路徑(注意這里配置的是命令,前面配置的只是啟動腳本) [root@leaf mysql]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile [root@leaf mysql]# source /etc/profile [root@leaf mysql]# echo $PATH /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin #(8)登陸MySQL測試 [root@leaf mysql]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.5.54 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.05 sec) mysql> select user(); # 查看當前登陸的用戶 +----------------+ | user() | +----------------+ | root@localhost | +----------------+ 1 row in set (0.00 sec) mysql> select host, user from mysql.user; +-----------+------+ | host | user | +-----------+------+ | 127.0.0.1 | root | | ::1 | root | | leaf | | | leaf | root | | localhost | | | localhost | root | +-----------+------+ 6 rows in set (0.00 sec) mysql> quit Bye
(2)MySQL基本安全優化
1.為root用戶設置密碼
[root@leaf mysql]# mysqladmin -u root password '123456'
2.清理無用的MySQL用戶及數據庫
[root@leaf mysql]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.54 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> select user, host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | ::1 | | | leaf | | root | leaf | | | localhost | | root | localhost | +------+-----------+ 6 rows in set (0.00 sec) mysql> drop user "root"@"::1"; Query OK, 0 rows affected (0.00 sec) mysql> drop user ""@"leaf"; Query OK, 0 rows affected (0.00 sec) mysql> drop user "root"@"leaf"; Query OK, 0 rows affected (0.01 sec) mysql> drop user ""@"localhost"; Query OK, 0 rows affected (0.01 sec) mysql> select user, host from mysql.user; +------+-----------+ | user | host | +------+-----------+ | root | 127.0.0.1 | | root | localhost | +------+-----------+ 2 rows in set (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) # 刪除無用的數據庫 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec) mysql> drop database test; Query OK, 0 rows affected (0.01 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec)
到此為此,MySQL也安裝完成了!
4.LNMP環境搭建:PHP(FastCGI方式)安裝、配置與啟動
(1)安裝PHP依賴函數庫
1.安裝lib庫
需要安裝的lib庫如下:
zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
其中除了libiconv庫外,其他都可以通過yum的方式進行安裝,安裝如下:
# 使用yum安裝除libiconv-devel之外的其它lib庫 [root@leaf mysql]# yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel # 編譯安裝libiconv-devel [root@leaf tools]# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz [root@leaf tools]# tar zxf libiconv-1.14.tar.gz [root@leaf tools]# cd libiconv-1.14 [root@leaf libiconv-1.14]# ./configure --prefix=/usr/local/libiconv [root@leaf libiconv-1.14]# make [root@leaf libiconv-1.14]# make install
2.安裝libmcrypt庫
[root@leaf ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo [root@leaf ~]# yum install -y libmcrypt-devel
3.安裝mhash加密擴展庫
[root@leaf ~]# yum install -y mhash
4.安裝mcrypt加密擴展庫
[root@leaf ~]# yum install -y mcrypt
(2)安裝PHP
使用的PHP版本號為5.3.27,如下:
1.下載PHP安裝包
[root@leaf tools]# wget http://cn2.php.net/get/php-5.3.27.tar.gz/from/this/mirror [root@leaf tools]# mv mirror php-5.3.27.tar.gz [root@leaf tools]# ls -l php-5.3.27.tar.gz -rw-r--r--. 1 root root 15008639 1月 21 2015 php-5.3.27.tar.gz
2.解壓縮
[root@leaf tools]# tar zxf php-5.3.27.tar.gz [root@leaf tools]# cd php-5.3.27 [root@leaf php-5.3.27]# pwd /root/tools/php-5.3.27
3.配置PHP的安裝參數
配置項非常多,如下:
./configure \ --prefix=/application/php5.3.27 \ --with-mysql=/application/mysql \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-safe-mode \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --with-curlwrappers \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-zip \ --enable-soap \ --enable-short-tags \ --enable-zend-multibyte \ --enable-static \ --with-xsl \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-ftp
可以將其直接復制到命令行進行配置,這樣就可以減少出錯的概率:
[root@leaf php-5.3.27]# ./configure \ > --prefix=/application/php5.3.27 \ > --with-mysql=/application/mysql \ > --with-iconv-dir=/usr/local/libiconv \ > --with-freetype-dir \ > --with-jpeg-dir \ > --with-png-dir \ > --with-zlib \ > --with-libxml-dir=/usr \ > --enable-xml \ > --disable-rpath \ > --enable-safe-mode \ > --enable-bcmath \ > --enable-shmop \ > --enable-sysvsem \ > --enable-inline-optimization \ > --with-curl \ > --with-curlwrappers \ > --enable-mbregex \ > --enable-fpm \ > --enable-mbstring \ > --with-mcrypt \ > --with-gd \ > --enable-gd-native-ttf \ > --with-openssl \ > --with-mhash \ > --enable-pcntl \ > --enable-sockets \ > --with-xmlrpc \ > --enable-zip \ > --enable-soap \ > --enable-short-tags \ > --enable-zend-multibyte \ > --enable-static \ > --with-xsl \ > --with-fpm-user=nginx \ > --with-fpm-group=nginx \ > --enable-ftp ...... +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP.
4.編譯PHP
[root@leaf php-5.3.27]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ [root@leaf php-5.3.27]# touch ext/phar/phar.phar [root@leaf php-5.3.27]# make ...... [root@leaf php-5.3.27]# echo $? 0
5.安裝PHP
[root@leaf php-5.3.27]# make install /root/tools/php-5.3.27/build/shtool install -c ext/phar/phar.phar /application/php5.3.27/bin ln -s -f /application/php5.3.27/bin/phar.phar /application/php5.3.27/bin/phar Installing PDO headers: /application/php5.3.27/include/php/ext/pdo/ ...... [root@leaf php-5.3.27]# echo $? 0
(3)配置與啟動PHP
1.設置PHP安裝目錄軟鏈接
[root@leaf php-5.3.27]# ln -s /application/php5.3.27/ /application/php [root@leaf php-5.3.27]# ls -l /application/php lrwxrwxrwx. 1 root root 23 3月 4 08:59 /application/php -> /application/php5.3.27/
2.拷貝PHP配置文件到PHP默認目錄
[root@leaf php-5.3.27]# cp php.ini-production /application/php/lib/php.ini [root@leaf php-5.3.27]# ls -l /application/php/lib/php.ini -rw-r--r--. 1 root root 69627 3月 4 09:00 /application/php/lib/php.ini
3.配置php-fpm.conf文件
[root@leaf php-5.3.27]# cd /application/php/etc/ [root@leaf etc]# ls pear.conf php-fpm.conf.default [root@leaf etc]# cp php-fpm.conf.default php-fpm.conf
4.啟動PHP服務php-fpm
[root@leaf etc]# /application/php/sbin/php-fpm
5.檢查啟動進程與偵聽端口號
[root@leaf etc]# ps -ef | grep php-fpm root 129256 1 0 09:05 ? 00:00:00 php-fpm: master process (/application/php5.3.27/etc/php-fpm.conf) nginx 129257 129256 0 09:05 ? 00:00:00 php-fpm: pool www nginx 129258 129256 0 09:05 ? 00:00:00 php-fpm: pool www root 129260 13743 0 09:06 pts/1 00:00:00 grep php-fpm [root@leaf etc]# netstat -lntup | grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 129256/php-fpm
至此,PHP也安裝完成了!LNMP的各個組件都安裝好了,下面就要對LNMP環境進行測試了。
5.LNMP環境測試
(1)配置Nginx支持PHP程序請求訪問
1.查看當前Nginx配置
[root@leaf etc]# cd /application/nginx/conf/ [root@leaf conf]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; include extra/blog.conf; } [root@leaf conf]# cat extra/blog.conf server { listen 80; server_name blog.xpleaf.org; location / { root html/blog; index index.html index.htm; } }
2.修改extra/blog.conf配置文件
[root@leaf conf]# cat extra/blog.conf server { listen 80; server_name blog.xpleaf.org; location / { root html/blog; index index.html index.htm; } location ~ .*\.(php|php5)?$ { root html/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } }
3.檢查并啟動Nginx
[root@leaf conf]# /application/nginx/sbin/nginx -t nginx: the configuration file /application/nginx-1.6.3//conf/nginx.conf syntax is ok nginx: configuration file /application/nginx-1.6.3//conf/nginx.conf test is successful [root@leaf conf]# /application/nginx/sbin/nginx -s reload
(2)測試LNMP環境是否生效
1.配置域名站點目錄
[root@leaf conf]# cd /application/nginx/html/blog/ [root@leaf blog]# echo "<?php phpinfo(); ?>" >test_info.php [root@leaf blog]# cat test_info.php <?php phpinfo(); ?>
2.宿主機上在瀏覽器中輸入地址http://blog.xpleaf.org/test_info.php進行訪問
(3)測試PHP連接MySQL是否正常
1.編輯text_mysql.php
[root@leaf blog]# cat test_mysql.php <?php $link_id=mysql_connect('localhost', 'root', '123456'); if($link_id){ echo "mysql succesful by xpleaf !"; }else{ echo mysql_error(); } ?>
2.宿主機上在瀏覽器中輸入地址http://blog.xpleaf.org/test_mysql.php進行訪問
至此,LNMP環境搭建與測試完成了,下面就可以開始部署WordPress了!
6.部署WordPress
(1)MySQL數據庫準備
1.登陸mysql
[root@leaf blog]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5.54 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
2.創建數據庫wordpress
mysql> create database wordpress; Query OK, 1 row affected (0.32 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | wordpress | +--------------------+ 4 rows in set (0.00 sec)
3.創建wordpress blog管理用戶
mysql> grant all on wordpress.* to wordpress@'localhost' identified by '123456'; Query OK, 0 rows affected (0.08 sec) mysql> show grants for wordpress@'localhost'; +------------------------------------------------------------------------------------------------------------------+ | Grants for wordpress@localhost | +------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'wordpress'@'localhost' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' | | GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost' | +------------------------------------------------------------------------------------------------------------------+ 2 rows in set (0.00 sec)
4.刷新MySQL用戶權限
mysql> flush privileges; Query OK, 0 rows affected (0.31 sec)
5.檢查MySQL登錄用戶
mysql> select user,host from mysql.user; +-----------+-----------+ | user | host | +-----------+-----------+ | root | 127.0.0.1 | | root | localhost | | wordpress | localhost | +-----------+-----------+ 3 rows in set (0.00 sec)
(2)Nginx配置準備
1.修改blog.conf配置文件
[root@leaf conf]# cat extra/blog.conf server { listen 80; server_name blog.xpleaf.org; location / { root html/blog; index index.php index.html index.htm; } location ~ .*\.(php|php5)?$ { root html/blog; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } } # 相比前面的配置文件,只是在/下添加了index.php # 不過需要注意的是,index.php一定要放在index關鍵字之后, # 這樣訪問blog.xpleaf.org時,才會打開我們的WordPress頁面
2.重啟Nginx服務
[root@leaf conf]# /application/nginx/sbin/nginx -s reload
(3)配置WordPress
1.獲取WordPress安裝包
[root@leaf tools]# wget https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz [root@leaf tools]# ls -lh wordpress-4.7.2-zh_CN.tar.gz -rw-r--r--. 1 root root 8.1M 1月 28 08:53 wordpress-4.7.2-zh_CN.tar.gz
2.解壓縮與配置站點目錄
[root@leaf tools]# cp wordpress-4.7.2-zh_CN.tar.gz /application/nginx/html/blog/ [root@leaf tools]# cd /application/nginx/html/blog/ [root@leaf blog]# tar zxf wordpress-4.7.2-zh_CN.tar.gz [root@leaf blog]# ls index.html test_mysql.php wordpress-4.7.2-zh_CN.tar.gz test_info.php wordpress [root@leaf blog]# rm -rf test_* wordpress-4.7.2-zh_CN.tar.gz # 刪除無用的文件 [root@leaf blog]# ls index.html wordpress [root@leaf blog]# mv wordpress/* ./ # 將wordpress程序移到當前blog目錄下 [root@leaf blog]# ls index.html wp-admin wp-includes wp-signup.php index.php wp-blog-header.php wp-links-opml.php wp-trackback.php license.txt wp-comments-post.php wp-load.php xmlrpc.php readme.html wp-config-sample.php wp-login.php wordpress wp-content wp-mail.php wp-activate.php wp-cron.php wp-settings.php [root@leaf blog]# ls -l 總用量 196 -rw-r--r--. 1 root root 30 3月 4 04:54 index.html -rw-r--r--. 1 nobody 65534 418 9月 25 2013 index.php -rw-r--r--. 1 nobody 65534 19935 1月 3 02:51 license.txt -rw-r--r--. 1 nobody 65534 6956 1月 28 08:53 readme.html drwxr-xr-x. 2 nobody 65534 4096 3月 4 09:50 wordpress ......
3.對blog下所有文件授予nginx用戶和組的權限
[root@leaf blog]# chown -R nginx.nginx ../blog/ [root@leaf blog]# ls -l 總用量 196 -rw-r--r--. 1 nginx nginx 30 3月 4 04:54 index.html -rw-r--r--. 1 nginx nginx 418 9月 25 2013 index.php -rw-r--r--. 1 nginx nginx 19935 1月 3 02:51 license.txt -rw-r--r--. 1 nginx nginx 6956 1月 28 08:53 readme.html drwxr-xr-x. 2 nginx nginx 4096 3月 4 09:50 wordpress ......
(4)安裝WordPress
在宿主機瀏覽器上輸入地址:http://blog.xpleaf.org,如下:
接下來的安裝都是非常人性化的,點擊“現在就開始”,出現下面的頁面:
填好信息后,點擊“提交”,如下:
點擊“進行安裝”,接下來就會讓我們填寫一些信息,如下:
點擊“安裝WordPress”,之后就會顯示如下頁面:
顯示上面的頁面,就說明我們的WordPress安裝成功了!接下來就可以好好管理自己的個人WordPress博客站點了!
7.下一步要做什么
可以在云主機上,如騰訊云或者阿里云上搭建LNMP環境,再部署一個WordPress博客程序,為了達到域名訪問的效果,可以購買一個域名,然后自己搭建DNS服務器,這會是非常不錯的體驗!
接下來就可以考慮對LNMP進行優化了。
8.參考資料
《跟老男孩學Linux運維:Web集群實戰》
MySQL官方站點:https://www.mysql.com/downloads/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。