基於lnmp環境搭建wordpress博客系統

搭建LNMP+WordPress博客系統安裝發佈

實驗環境配置:centos7.6 + nginx1.14.2 + mysql-5.6.36 + php-7.2.11

基礎環境安裝包下載



一、NGINX

1.1、NGINX安裝:

>>>>>>安裝依賴包:<<<<<<

[root@ljc-97 ~]# yum install -y pcre-devel openssl-devel

>>>>>>創建一個管理nginx進程的虛擬用戶:<<<<<<

[root@ljc-97 ~]# useradd www -s /sbin/nologin/ -M

>>>>>>編譯配置<<<<<<

[root@ljc-97 ~]# cd /tools/         ---軟件包存放的位置
[root@ljc-97 tools]# tar xf nginx-1.14.2.tar.gz  ---解壓
[root@ljc-97 tools]# cd nginx-1.14.2
[root@ljc nginx-1.14.2]# ./configure \
--prefix=/usr/local/nginx-14.2 \
--user=www --group=www \
--with-http_ssl_module \
--with-http_stub_status_module

****末尾 \ 換行符,粘貼時注意,建議複製到記事本先編輯****
[root@ljc nginx-1.14.2]#  make && make install

>>>>>>爲nginx程序軟件創建鏈接目錄(升級版本時直接替換就好。)<<<<<<

[root@ljc nginx-1.14.2]#  ln -s /usr/local/nginx-14.2 /usr/local/nginx

1.2、啓動NGINX:

[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx	-----啓動nginx

>>>>>>瀏覽器輸入IP地址訪問,出現 welcome to nginx 界面表示安裝成功~<<<<<<

[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx -s stop ------停止nginx
[root@ljc nginx-1.14.2]# /usr/local/nginx/sbin/nginx -t	------查看配置參數是否正確

>>>>>>編譯配置說明:<<<<<<

--prefix=PATH     						指定軟件安裝在什麼目錄下
--user=USER      	 					指定軟件worker進程管理用戶,利用www虛擬用戶管理worker進程
--group=USER      						指定軟件worker進程管理組
--with-http_ssl_module           		使nginx程序可以支持HTTPsF訪問功能
--with-http_stub_status_module	 		用於監控用戶訪問nginx服務情況


二 、MySQL

2.1、mysql安裝前期準備:

>>>>>>依賴包準備<<<<<<

***** 1)cmake包,要求2.8以上版本。cmake和configure一樣,mysql是不支持configure的。https://cmake.org/download/
***** 2)boost庫包: boost Boost庫是一個可移植、提供源代碼的C++庫,作爲標準庫的後備,是C++標準化進程的開發引擎之一。https://www.boost.org/
***** 3)mysql包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

>>>>>>安裝依賴包<<<<<<

[root@ljc-97 ~]# yum -y install ncurses-devel gcc-\* bzip2-\* bison

>>>>>> cmake install 官網下載 cmake<<<<<<

[root@ljc-97 tools]# wget https://github.com/Kitware/CMake/releases/download/v3.14.0-rc4/cmake-3.14.0-rc4.tar.gz
[root@ljc-97 tools]#tar xf cmake-3.14.0-rc4.tar.gz
[root@ljc-97 tools]cd cmake-3.14.0-rc4
[root@ljc-97 cmake-3.14.0-rc4]./configure                  ----等候時間較長
[root@ljc-97 cmake-3.14.0-rc4]make && make install       ---時間更長~~~慢慢等吧~~~
>>>>>>www.ijiiyee.com<<<<<<
說明:結束時候可以echo $?確認是否正確安裝。
輸出結果若爲0,正確安裝,
其他數字,安裝錯誤。

>>>>>> boost 官網下載<<<<<<

[root@ljc-97 tools]tar xf boost_1_59_0.tar.bz2
[root@ljc-97 tools]mv boost_1_59_0 /usr/local/boost

>>>>>> mysql<<<<<<

[root@ljc-97 ~]# mkdir -pv /application/mysql/data
[root@ljc-97 tools]# tar xvf mysql-5.6.36.tar.gz  

2.2、安裝mysql

[root@ljc-97 tools]# cd mysql-5.6.36
[root@ljc-97 mysql-5.6.36]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data/ \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_EMBEDDED_SERVER=1 \
-DDOWNLOAD_BOOST=1  -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost
[root@ljc-97 mysql-5.6.36]#make && make install
    ~~~~出門遛個彎,還在make~~~
    ~~~文中的 \ 問換行符號,建議複製到本地記事本文件編輯後在使用,不然容易報錯~~~

>>>>>>編譯解釋說明<<<<<<

>>>>可按實際生產環境需求增加或減少配置
[root@ljc-97 ~]# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql                  指定安裝路徑
-DMYSQL_DATADIR=/application/data/                       指定數據目錄
-DMYSQL_UNIX_ADDR=/application/mysql/mysql.sock          指定sock文件路徑
-DWITH_INNOBASE_STORAGE_ENGINE=1                         安裝Innodb存儲引擎
-DWITH_MYISAM_STORAGE_ENGINE=1                           安裝myisam存儲引擎
-DENABLED_LOCAL_INFILE=1                                 允許使用Load data命令從本地導入數據
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci  安裝所有字符集、默認字符集utf-8 、校驗字符
-DMYSQL_USER=mysql                                          mysql用戶名
-DWITH_DEBUG=0                                              關閉debug
-DWITH_EMBEDDED_SERVER=1                    生成一個libmysqld.a(.so)的庫,這個庫同時集成了mysql服務與客戶端API
-DDOWNLOAD_BOOST=1  -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost		允許boost 允許下載boost庫文件

2.3安裝後操作

>>>>>>拷貝一個啓動文件,並建立軟連接<<<<<<

[root@ljc-97 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
[root@ljc-97 ~]# useradd -s /sbin/nologin -r mysql
[root@ljc-97 ~]# chmod 755 /etc/init.d/mysql
[root@ljc-97 ~]# chown mysql.mysql /usr/local/mysql/ -R
[root@ljc-97 ~]# ln -sf /usr/local/mysql/bin/* /usr/bin/
[root@ljc-97 ~]# ln -sf /usr/local/mysql/lib/* /usr/lib/
[root@ljc-97 ~]# ln -sf /usr/local/mysql/libexec/*  /usr/local/libexec
[root@ljc-97 ~]# ln -sf /usr/local/mysql/share/man/man1/*  /usr/share/man/man1
[root@ljc-97 ~]# ln -sf /usr/local/mysql/share/man/man8/*  /usr/share/man/man8

>>>>>>修改配置文件(etc/my.cnf)<<<<<<

[root@ljc-97 ~]# egrep -v "^#|^$" /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql     		 ----mysql安裝位置
datadir=/usr/local/mysql/data      	 ----mysql數據存放位置
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql.log         ----mysql錯誤日誌
pid-file=/var/run/mysql.pid
!includedir /etc/my.cnf.d

>>>>>>初始化數據庫<<<<<<

--------mysql 3.7版本:
[root@ljc-97 mysql]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

--------mysql 3.6版本:
[root@ljc-97 ~]# cd /usr/local/mysql/scripts/
[root@ljc-97 scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

>>>>>>mysql 5.7版本:執行完出現臨時密碼需記住然後修改<<<<<<

root@localhost:  nU>BeWw>8Hi#

>>>>>>mysql 5.6版本不出現密碼,後續直接設置密碼。<<<<<<
>>>>>>mysql 5.6版本設置密碼:<<<<<<

[root@ljc-97 ~]# mysqladmin -uroot password 'ljc123'

2.4、啓動mysql

[root@ljc-97 ~]# /etc/init.d/mysql start


三、PHP安裝部署:

3.1、安裝依賴包

[root@ljc-97 ~]# yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gd net-snmp-*  -y
[root@ljc-97 local]# cd /usr/src/     			----------PHP壓縮包存放位置
[root@ljc-97 ~]# tar xf php-7.2.11.tar.gz
[root@ljc-97 src]# cd php-7.2.11/

>>>>>>以下編譯參數較多,可按需增減,也可直接用生產環境<<<<<<
------文中的 \ 換行符號,建議複製到本地記事本文件編輯後在使用,不然容易報錯----

[root@ljc-97 php-7.2.11]# ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysqli=mysqlnd --enable-embedded-mysqli \
--with-mysql-sock=/usr/local/mysql/ \
--enable-pdo --with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/ \
--enable-fpm --with-fpm-user=www --with-fpm-group=www \
--with-pcre-regex --with-zlib --with-bz2 --with-zlib-dir \
--enable-zip --enable-calendar \
--disable-phar --with-curl --enable-dba \
--with-libxml-dir --enable-ftp --with-gd \
--with-jpeg-dir --with-png-dir --with-freetype-dir \
--enable-gd-jis-conv --with-mhash --enable-mbstring \
--enable-opcache=yes --enable-pcntl --enable-xml \
--disable-rpath --enable-shmop --enable-sockets \
--enable-bcmath --with-snmp --disable-ipv6 \
--with-gettext --disable-debug 

>>>>>>參數解釋<<<<<<

--prefix=/usr/local/php                           安裝路徑
--with-config-file-path=/usr/local/php/etc         配置文件路徑
--with-mysqli=mysqlnd --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/  對mysql支持
--enable-pdo --with-pdo-mysql=mysqlnd 	          對PHP的pdo擴展庫支持
--with-iconv-dir=/usr/local/ 	                字符集轉碼工具
--enable-fpm --with-fpm-user=www --with-fpm-group=www 	對PHP的服務php-fpm支持,用戶是www,組是www
--with-pcre-regex                            對pcre的支持
--with-zlib --with-bz2 --with-zlib-dir --enable-zip   對壓縮的支持
--enable-calendar                             打開日曆擴展功能
--disable-phar 
--with-curl                                  對curl工具的支持
--enable-dba 
--with-libxml-dir 
--enable-ftp 
--with-gd --with-jpeg-dir --with-png-dir     對圖片的支持
--with-freetype-dir 	                     打開對freetype字體庫的支持
--enable-gd-jis-conv 
--with-mhash 	                             mhash算法的支持
--enable-mbstring		                     多字節,字符串的支持
--enable-opcache=yes
--enable-pcntl		                         freeTDS需要用到的,可能是鏈接mssql 纔用到
--enable-xml 
--disable-rpath                              關閉額外的運行庫文件
--enable-shmop
--enable-sockets                             打開 sockets 支持
--enable-bcmath 	                         打開圖片大小調整
--with-snmp --disable-ipv6 
--with-gettext                               打開gnu 的gettext 支持,編碼庫用到
--disable-debug                              關閉調試模式

>>>>>>編譯安裝<<<<<<

[root@ljc-97 php-7.2.11]# make && make install

3.2、 PHP web環境部署

[root@ljc-97 etc]# pwd
/usr/local/php/etc
[root@ljc-97 etc]# cp php-fpm.conf.default php-fpm.conf
[root@ljc-97 etc]# vim php-fpm.conf
[root@ljc-97 etc]# egrep -v "^;|^$" /usr/local/php/etc/php-fpm.conf
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
daemonize = yes
include=/usr/local/php/etc/php-fpm.d/*.conf
[root@ljc-97 etc]# cd php-fpm.d/
[root@ljc-97 php-fpm.d]# ls
www.conf.default
[root@ljc-97 php-fpm.d]# pwd
/usr/local/php/etc/php-fpm.d
[root@ljc-97 php-fpm.d]# cp www.conf.default www.conf
[root@ljc-97 php-fpm.d]# vim www.conf
[root@ljc-97 php-fpm.d]# egrep -v "^;|^$" /usr/local/php/etc/php-fpm.d/www.conf
[www]
user = www
group = www
listen = 127.0.0.1:9000
listen.owner = www
listen.group = www
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

>>>>>>複製啓動文件<<<<<<

[root@ljc-97 php-fpm.d]# cp /usr/src/php-7.2.11/sapi/fpm/php-fpm.service /etc/systemd/system/
[root@ljc-97 php-fpm.d]# chmod 755 /etc/systemd/system/php-fpm.service 
[root@ljc-97 php-fpm.d]# systemctl daemon-reload 			----重載下
[root@ljc-97 php-fpm.d]# systemctl start php-fpm.service 	-----開啓php-fpm
[root@ljc-97 php-fpm.d]# lsof -i :9000
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php-fpm 129771 root    6u  IPv4 100851      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 129772  www    8u  IPv4 100851      0t0  TCP localhost:cslistener (LISTEN)
php-fpm 129773  www    8u  IPv4 100851      0t0  TCP localhost:cslistener (LISTEN)

3.3、 nginx和PHP關聯

[root@ljc-97 php-fpm.d]# vim /usr/local/nginx/conf/nginx.conf
user  www;                                                 	 用戶爲www
    location / {
        root   html;
        index  index.php index.html index.htm;          ------此處增加index.php
        }
    location ~ \.php$ {                                 -----------此行開始刪除註釋
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
    ----修改php在編譯產生的腳本臨時文件存放位置:/usr/local/nginx/html ----
        fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;
        include        fastcgi_params;

3.4、生成測試頁面

[root@ljc-97 html]# cat phpinfo.php
<?php
phpinfo();
?>

3.5、瀏覽器打開nginx的ip:

http://10.0.0.97/phpinfo.php
出現PHP頁面表示安裝成功,可以查看到編譯參數


四、 部署WordPress

4.1、解壓複製tar包

[root@ljc-97 tools]# tar xf wordpress-4.7.3-zh_CN.tar.gz
[root@ljc-97 wordpress]# ls
index.php        wp-blog-header.php    wp-includes        wp-settings.php
license.txt      wp-comments-post.php  wp-links-opml.php  wp-signup.php
readme.html      wp-config-sample.php  wp-load.php        wp-trackback.php
wp-activate.php  wp-content            wp-login.php       xmlrpc.php
wp-admin         wp-cron.php           wp-mail.php

>>>>>>移動所有文件到nginx的html目錄下<<<<<<

[root@ljc-97 tools]# mv wordpress/* /usr/local/nginx/html/
[root@ljc-97 local]# chown www.www nginx/ -R            ###修改nginx用戶,組都爲www
[root@ljc-97 html]# pwd
/usr/local/nginx/html
[root@ljc-97 html]# rm -f index.html                    ###刪除nginx默認頁面
[root@ljc-97 html]# head -1 ../conf/nginx.conf          ###修改nginx用戶爲www
user  www;

4.2、配置過程

>>>>>>瀏覽器打開輸入10.0.0.97出現wordpress配置頁面<<<<<<

設置:
    數據庫名:wordpress
    用戶名:root
    密碼:ljc123
    數據庫主機:127.0.0.1

>>>>>>點擊下一步發現報錯,原因:本地未建立wordpress數據庫<<<<<<
進入服務器配置頁面進入數據庫:

[root@ljc-97 html]# mysql -uroot -pljc123

新建wordpress庫

mysql> create databases wordpress;

--------此時wordpress庫中內容爲空
--------瀏覽器側安裝wordpress成功後,可看見庫中的內容

mysql> use wordpress;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_wordpress   |
+-----------------------+
| wp_commentmeta        |
| wp_comments           |
| wp_links              |
| wp_options            |
| wp_postmeta           |
| wp_posts              |
| wp_term_relationships |
| wp_term_taxonomy      |
| wp_termmeta           |
| wp_terms              |
| wp_usermeta           |
| wp_users              |
+-----------------------+
12 rows in set (0.00 sec)

回到瀏覽器界面,再次配置,可成功安裝wordpress



到此lnmp環境+wordpress博客系統就安裝完成啦,可自定義wordpress中的主題,插件等等功能,各模塊功能大家自行研究~~~~~

轉載自:只是個小運維

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章