linux系統搭建wordpress和知乎
阿新 • • 發佈:2020-07-23
1.安裝LNMP基礎服務
# 1.更換nginx源 vim /etc/yum.repos.d/nginx.repo [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true # 2.安裝nginx [root@web01 nginx_php]# yum install -y nginx # 3.更換php源 [root@web01 ~]# vim /etc/yum.repos.d/php.repo [php-webtatic] name = PHP Repository baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/ gpgcheck = 0 # 4.安裝php [root@web01 ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb # 5.安裝MySQL [root@web01 ~]# yum install -y mariadb-server
2.統一nginx和php的使用者
# 1.建立使用者和使用者組
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
# 2.修改nginx的配置檔案
[root@web01 ~]# vim /etc/nginx/nginx.conf
user www;
# 3.修改php的配置檔案
[root@web01 ~]# vim /etc/php-fpm.d/www.conf
[www]
user = www
group = www
3.啟動所有服務並加入開機自啟
# 1.啟動服務 [root@web01 ~]# systemctl start nginx php-fpm mariadb # 2.加入開機自啟 [root@web01 ~]# systemctl enable nginx php-fpm mariadb # 3.檢查埠和程序 [root@web01 ~]# netstat -lntup|grep -E '80|9000|3306' [root@web01 ~]# ps -ef|grep -E 'nginx|mysql|php'
4.nginx和php建立連線
# 1.修改nginx配置檔案 [root@web01 conf.d]# vim /etc/nginx/conf.d/blog.zls.com.conf server { listen 80; server_name blog.zls.com; root /website/wordpress; index index.php index.html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIP_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } # 2.建立站點目錄 [root@web01 conf.d]# mkdir /website/wordpress -p # 3.檢測nginx和PHP建立連線(這一步可做可不做) [root@web01 wordpress]# vim /website/wordpress/info.php <?php phpinfo(); ?> # 4.開啟瀏覽器訪問:http://blog.zls.com/info.php
5.資料庫操作
# 1.給資料庫的root使用者設定一個初始密碼(可做可不做)
[root@web01 wordpress]# mysqladmin -uroot password '123'
# 2.建立資料庫
MariaDB [(none)]> create database wordpress_db;
# 3.檢視資料庫是否建立成功(可看可不看)
MariaDB [(none)]> show databases;
# 4.建立使用者
MariaDB [(none)]> grant all on wordpress_db.* to wordpress_user@'localhost' identified by '123456';
# 5.檢視使用者是否建立成功(可看可不看)
MariaDB [(none)]> select user,host from mysql.user;
6.檢查php和MySQL是否可以建立連線
# 1.在站點目錄下建立一個php連線資料庫的程式碼(可做可不做)
[root@web01 ~]# vim /website/wordpress/mysql.php
<?php
$servername = "localhost";
$username = "wordpress_user";
$password = "123456";
// 建立連線
$conn = mysqli_connect($servername, $username, $password);
// 檢測連線
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "小哥哥,php可以連線MySQL...";
?>
<img style='width:100%;height:100%;' src=https://blog.driverzeng.com/zenglaoshi/php_mysql.png>
7.部署WordPress程式碼
WordPress官網:TP
# 1.下載WordPress
[root@web01 wordpress]# wget https://wordpress.org/latest.tar.gz
# 2.解壓WordPress
[root@web01 wordpress]# tar xf wordpress-5.0.3-zh_CN.tar.gz
# 3.保證程式碼就在/website/wordpress目錄下,不要多任何層級的目錄
[root@web01 wordpress]# mv wordpress/* ./
8.在web上配置WordPress
# 修改站點目錄的許可權,否則沒有辦法建立連線資料庫的php程式碼檔案
[root@web01 wordpress]# chown -R www.www /website/wordpress/
部署第二個專案-知乎(WeCenter)
1.寫nginx的配置檔案,建立知乎站點
# 1.編輯配置檔案
[root@web02 ~]# vim /etc/nginx/conf.d/zh.zls.com.conf
server {
listen 80;
server_name zh.zls.com;
root /website/zh;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
# 1.1 重新載入nginx
[root@web02 zh]# systemctl reload nginx
# 2.建立站點目錄
[root@web02 ~]# mkdir /website/zh
# 3.將程式碼下載到站點目錄
[root@web02 zh]# wget http://test.driverzeng.com/Nginx_Code/WeCenter_3-2-1.zip
# 4.解壓程式碼
[root@web02 zh]# unzip WeCenter_3-2-1.zip
# 5.將程式碼放在站點目錄下
[root@web02 zh]# mv WeCenter_3-2-1/* ./
# 6.授權
[root@web02 zh]# chown -R www.www /website/zh/
2.資料庫操作
# 1.建立知乎的庫
MariaDB [(none)]> create database zh;
# 2.建立知乎的使用者
MariaDB [(none)]> grant all on zh.* to zh_user@'localhost' identified by '123';
目前來說,兩個部落格和兩個知乎都搭建出來了,但是...資料不統一,因為用的兩臺不同的資料庫
準備環境
主機名 | wanIP | lanIP | 搭建服務 |
---|---|---|---|
db01 | 10.0.0.51 | 172.16.1.51 | MySQL |
web01 | 10.0.0.7 | 172.16.1.7 | 網站 |
web02 | 10.0.0.8 | 172.16.1.8 | nginx和php |
1.在db01上安裝資料庫
# 1.安裝資料庫
[root@db01 ~]# yum install -y mariadb-server
# 2.啟動並新增開機自啟
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
# 3.給root,密碼
[root@db01 ~]# mysqladmin -uroot password '123'
# 4.連線資料庫
[root@db01 ~]# mysql -uroot -p123
# 6.建立wordpress的使用者和知乎使用者
MariaDB [(none)]> grant all on *.* to php_user@'%' identified by '111';
# 7.匯出web02的資料
[root@web02 ~]# mysqldump -uroot -p123 -B wordpress_db > /tmp/wordpress.sql
# 8.傳送給新的資料庫
[root@web02 ~]# scp /tmp/wordpress.sql [email protected]:/tmp/
# 9.匯入資料(二選一)
[root@db01 ~]# cat /tmp/wordpress.sql | mysql -uroot -p123
[root@db01 ~]# mysql -uroot -p123 < /tmp/wordpress.sql
2.修改php連線資料庫的程式碼
[root@web01 wordpress]# vim /website/wordpress/wp-config.php
/** WordPress資料庫的名稱 */
define('DB_NAME', 'wordpress_db');
/** MySQL資料庫使用者名稱 */
define('DB_USER', 'php_user');
/** MySQL資料庫密碼 */
define('DB_PASSWORD', '111');
/** MySQL主機 */
define('DB_HOST', '10.0.0.51');
3.共享儲存,存放圖片
# 1.安裝nfs
[root@nfs ~]# yum install -y nfs-utils
# 2.修改nfs的配置檔案
[root@nfs ~]# vim /etc/exports
/file_system 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)
# 3.建立使用者
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
# 4.建立共享儲存目錄
[root@nfs ~]# mkdir /file_system
# 5.授權(忽略)
[root@nfs ~]# chown -R www.www /file_system/
# 6.啟動nfs並加入開機自啟
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server
# 7.拷貝資料到nfs中
[root@web02 uploads]# scp -r /website/wordpress/wp-content/uploads/2020 [email protected]:/file_system
# 8.掛載
[root@web02 ~]# mount -t nfs 172.16.1.31:/file_system /website/wordpress/wp-content/uploads/
# 9.授權共享儲存目錄
[root@nfs file_system]# chown -R www.www /file_system/