LNMP 搭建wordpress

在這裏插入圖片描述
WordPress是使用PHP語言開發的博客平臺,用戶可以在支持PHP和MySQL數據庫的服務器上架設屬於自己的網站。也可以把 WordPress當作一個內容管理系統(CMS)來使用。

WordPress是一款個人博客系統,並逐步演化成一款內容管理系統軟件,它是使用PHP語言和MySQL數據庫開發的,用戶可以在支持 PHP 和 MySQL數據庫的服務器上使用自己的博客。

WordPress有許多第三方開發的免費模板,安裝方式簡單易用。不過要做一個自己的模板,則需要你有一定的專業知識。比如你至少要懂的標準通用標記語言下的一個應用HTML代碼、CSS、PHP等相關知識。

一、那什麼是LNMP呢?

LNMP是指一組通常一起使用來運行動態網站或者服務器的自由軟件名稱首字母縮寫。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。

LNMP代表的就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。
Linux是一類Unix計算機操作系統的統稱,是目前最流行的免費操作系統。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP代理服務器。
Mysql是一個小型關係型數據庫管理系統。
PHP是一種在服務器端執行的嵌入HTML文檔的腳本語言。
這四種軟件均爲免費開源軟件,組合到一起,成爲一個免費、高效、擴展性強的網站服務系統。

二、搭建LNMP及WordPress:

/data/server 服務安裝位置
/usr/local/src 安裝包位置
關閉防火牆和沙盒
在這裏插入圖片描述
創建/data/server用於存放解析後的文件
mkdir /data/server

搭建Nginx:
源碼安裝nginx下載並解壓踩點
cd /usr/local/src
wget http://nginx.org/download/nginx-1.16.0.tar.gz
Tar -zxvf nginx-1.16.0.tar.gz
在這裏插入圖片描述
下載依賴包:
cd /data/server
yum install openssl openssl-devel zlib zlib-devel pcre pcre-devel gcc gcc-c++ -y
進到目錄下:
cd /usr/local/src/nginx-1.16.0
編譯安裝:
./configure --prefix=/data/server/nginx #(編譯安裝的路徑,將服務都放在/data/server下)
make && make install
Nginx配置文件目錄:/data/server/nginx/conf
進到編譯好的Nginx下,啓動Nginx:
cd /data/server/nginx/sbin
./nginx
檢測:./nginx -t
查看進程 ps aux | grep nginx
打開瀏覽器輸入本機IP
在這裏插入圖片描述
搭建Mysql:
源碼安裝mysql下載源碼包:
cd /usr/local/src
在這裏插入圖片描述
解壓:
unzip AliSQL-AliSQL-5.6.32-9.zip
下載依賴環境包:
yum -y install cmake bison git ncurses-devel gcc gcc-c++
添加用戶:
groupadd mysql
useradd -g mysql mysql
安裝perl然後解壓:
Wget http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm
rpm -ivh
http://repo.openfusion.net/centos7-x86_64//perl-Data-Dumper-2.154-1.of.el7.x86_64.rpm
進到解壓好的目錄中:
cd AliSQL-AliSQL-5.6.32-9/
然後進行編譯安裝:

cmake -DCMAKE_INSTALL_PREFIX=/data/server/mysql -DMYSQL_UNIX_ADDR=/data/server/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/data/server/mysql/data -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DENABLE_DOWNLOADS=1

安裝:make && make install
修改目錄主權限:
chown -R mysql:mysql /data/server/mysql
複製文件給權限:
cd /data/server/mysql
cp support-files/my-default.cnf ./my.cnf
chown -R mysql:mysql my.cnf
配置文件:
vim my.cnf

basedir = /data/server/mysql
datadir = /data/server/mysql/data
socket = /data/server/mysql/mysql.sock
log-error= /data/server/mysql/data/error.log
pid-file = /data/server/mysql/data/mysql.pid
user = mysql
Tmpdir = /tmp
在這裏插入圖片描述

數據庫初始化:
scripts/mysql_install_db --defaults-file=./my.cnf --user=mysql
啓動數據庫:
support-files/mysql.server start
在這裏插入圖片描述

啓動數據庫報錯PID解決辦法:

rm -rf /etc/my.cnf
rm -rf my.cnf
cd data
rm -rf *
cd …
scripts/mysql_install_db --defaults-file=./my.cnf --user=mysql
cd support-files/
./mysql.server start
cd …
cd bin
重新啓動數據庫:
./mysql -u root -p
創建數據庫:

create database wordpress;
grant all on wordpress.* to wordpress@‘localhost’ identified by’123456’;
flush privileges;
exit

在這裏插入圖片描述
源碼安裝PHP:
添加用戶:
groupadd www
useradd -g www -s /sbin/nologin -M www
安裝依賴的程序包:
yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl openssl-devel libxslt-devel -y
安裝libiconv,解壓:
cd /usr/local/src
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
tar zxvf libiconv-1.15.tar.gz
進入到libiconf文件下:
cd libiconv-1.15
編譯libiconv:
./configure --prefix=/data/server/libiconv
make && make install 切記要編譯安裝
下載並解壓PHP:
cd /usr/local/src
tar -zxvf php-5.6.32.tar.gz -C /data/server
進到php-5.6.32文件下:
cd /data/server/php-5.6.32/
編譯:
./configure
–prefix=/data/server/php
–enable-fpm
–with-mysql=mysqlnd
–with-pdo-mysql=mysqlnd
–with-mysqli=mysqlnd
–with-openssl
–with-zlib
–with-gd
–with-jpeg-dir
–with-png-dir
–with-iconv=/data/server/libiconv
–enable-short-tags
–enable-sockets
–enable-zend-multibyte
–enable-soap
–enable-mbstring
–enable-static
–with-curl \
–enable-ftp
–with-libxml-dir
在這裏插入圖片描述
或者:
./configure --prefix=/data/server/php --enable-fpm --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/data/server/libiconv --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --with-curl --enable-ftp --with-libxml-dir

注意這裏的加粗路徑:–with-iconv=/data/server/libiconv

安裝:
make && make install
php.ini配置:
cp php.ini-development /data/server/php/lib/php.ini
php-fpm配置:
cp -R ./sapi/fpm/php-fpm.conf /data/server/php/etc/php-fpm.conf
將php給我們準備好的init.d.php-fpm備份:
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
將php-fpm服務添加到chkconfig列表:
chkconfig --add php-fpm
設置開機自啓動:
chkconfig php-fpm on
啓動服務:
service php-fpm start
在這裏會報錯:Permission Denied
vim /etc/profile #(在末尾加)
PATH=PATH:PATH:HOME/bin:/data/server/php/bin

在這裏插入圖片描述

source /etc/profile #(使環境生效)
設置開機自啓動:
chkconfig --add php-fpm
php-fpm 服務:
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
加權限:
chmod +x /etc/init.d/php-fpm
這時再啓動php-fpm:
service php-fpm start
更改配置文件:
vim /data/server/nginx/conf/nginx.conf
將user前面註釋去掉,並將nobady改成www www
在這裏插入圖片描述

在server/location模塊下的index欄下 加一個 index.php
在這裏插入圖片描述

將location ~ .php$ 模塊註釋去掉

在這裏插入圖片描述

將/scripts改成$document_root
在這裏插入圖片描述
去到html目錄下:
cd /data/server/nginx/html
添加test.php文件:
vim test.php

<?php phpinfo() ; ?>

進到nginx運行:
cd /data/server/nginx/sbin
重讀nginx:
./nginx -s reload
這裏有可能出現報錯,處理方法:
在這裏插入圖片描述
在瀏覽器裏輸入 本機IP/test.php
在這裏插入圖片描述
LNMP搭建完成。
搭建Wordpress:
上傳或下載wordpress-4.9.4-zh_CN.tar.gz 安裝包記得改一下 我拖的是4.9.7版本的
解壓:cd /usr/local/src
tar -zxvf wordpress-4.9.4-zh_CN.tar.gz
列出wordpress詳細信息:ll -d wordpress
將wordpress文件複製到網頁目錄下:
cp -r wordpress /data/server/nginx/html
修改Wordpress配置文件:
進到wordpress目錄下
cd /data/server/nginx/html/wordpress
拷貝配置文件
cp -r wp-config-sample.php wp-config.php
修改wp-config.php
vim wp-config.php

在其中修改數據庫名字、賬號、密碼(這裏修改的是mysql中創建的數據庫名字、用戶、密碼)再將主機改成127.0.0.1(設置自己可以訪問)
在這裏插入圖片描述
訪問網頁:在網址欄輸入192.168.110.140/wordpress/

在這裏插入圖片描述

如若後期公網IP更換,可以按照以下方法更換IP 並重啓wordpress

1.由電信換成聯通ip後,該wp-config.php文件的MySQL主機需更改DB IP,否則連接數據庫出錯。

[root@Cacti wordpress]# vi wp-config.php

// ** MySQL 設置 - 具體信息來自您正在使用的主機 ** //
/** WordPress數據庫的名稱 /
define(‘DB_NAME’, ‘wordpress’);
/
* MySQL數據庫用戶名 /
define(‘DB_USER’, '
’);
/
MySQL數據庫密碼 /
define(‘DB_PASSWORD’, '
’);
/
MySQL主機 /
define(‘DB_HOST’, '113.195.210.
’);
/** 創建數據表時默認的文字編碼 */
define(‘DB_CHARSET’, ‘utf8’);

2.更換IP後,還出現以下情況:
在這裏插入圖片描述

3.需要更改worpress的站點url和主頁

mysql> use wordpress;

#打開數據庫後對該表wp_options 操作
在這裏插入圖片描述
mysql> select * from wp_options where option_value like ‘%192.168.110.236%’;
在這裏插入圖片描述

方法1:更改站點IP
mysql> update wp_options set option_value=replace(option_value,‘192.168.110.236’,‘192.168.110.233’) where option_value LIKE ‘%192.168.110.236%’;
在這裏插入圖片描述
然後重新查看一下IP是否變了
mysql> select * from wp_options where option_value like ‘%192.168.110.233%’;
在這裏插入圖片描述

然後在網頁訪問就行 訪問成功;

方法2:更改站點IP

mysql>update wp_options set option_value=’ http://113.195.210.150:8080/wordpress’ where option_name =‘siteurl’ or option_name=‘home’;

mysql> update wp_options set option_value=replace(option_value,‘117.40.239.8’,‘113.195.210.150’) where option_value LIKE ‘%117.40.239.8%’;
Query OK, 2 rowsaffected (0.04 sec)
Rows matched:2 Changed: 2 Warnings: 0

mysql>select * from wp_options where option_value like ‘%113.195.210.150%’;
±----------±------------±--------------------------------------±---------+
| option_id |option_name | option_value | autoload |
±----------±------------±--------------------------------------±---------+
| 1 | siteurl | http://113.195.210.150:8080/wordpress |yes |
| 2 | home | http://113.195.210.150:8080/wordpress| yes |
±----------±------------±--------------------------------------±---------+
2 rows in set (0.01sec)

解決這個問題的整個關鍵還是要更改站點url和主頁,否則不能正常顯示網站內容和管理網站。

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