linux練習題二十

一、編譯安裝LNMP,並安裝wordpress

二、配置虛擬主機,www.x.com域名實現首頁訪問,admin.x.com域名實現wordpress的後臺訪問。

 

環境:一臺nginx+php-fpm、一臺mariadb

軟件版本:

mariadb-10.2.25-linux-x86_64.tar.gz

wordpress-5.0.3-zh_CN.tar.gz

php-7.3.7.tar.xz  

nginx-1.16.1.tar.gz

 

mariadb編譯安裝:

# 安裝包
yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boostdevel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel

# 做準備用戶和數據目錄
useradd –r –s /sbin/nologin –d /data/mysql/ mysql
mkdir /data/mysql
chown mysql.mysql /data/mysql
tar xvf mariadb-10.2.18.tar.gz
cd mariadb-10.2.18/
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mysql \
-DMYSQL_DATADIR=/data/mysql/ \
-DSYSCONFDIR=/etc/ \
-DMYSQL_USER=mysql \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITHOUT_MROONGA_STORAGE_ENGINE=1 \
-DWITH_DEBUG=0 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
# 提示:如果出錯,執行rm -f CMakeCache.txt

#準備環境變量
echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh

#生成數據庫文件
cd /app/mysql/
scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
#準備配置文件
cp /app/mysql/support-files/my-huge.cnf /etc/my.cnf
[mysqld]中添加三個選項:
datadir = /data/mysql
innodb_file_per_table = on
skip_name_resolve = on 禁止主機名解析,建議使用
#準備啓動腳本
cp /app/mysql/support-files/mysql.server /etc/init.d/mysqld
#啓動服務
chkconfig --add mysqld ;service mysqld start

#安全初始化
/user/local/mysql/bin/mysql_secure_installation
#創建數據庫
mysql>create database wordpress;
mysql>grant all on wordpress.* to wordpress@'192.168.44.%' identified by 'centos';

 

wordpress安裝:

tar xvf workpress*.tar.gz /data
mv workpress/* /data/php
chown -R root.root .
setfacl -R -m u:nginx:rwx  /data/php
mv wp-config-sample.php wp-config.php

vim wp-config.php
/** WordPress數據庫的名稱 */
define('DB_NAME', 'wordpress');
/** MySQL數據庫用戶名 */
define('DB_USER', 'wordpress');
/** MySQL數據庫密碼 */
define('DB_PASSWORD', 'centos');
/** MySQL主機 */
define('DB_HOST', '192.168.44.7');

 

nginx編譯安裝:

yum install gcc pcre-devel openssl-devel zlib-devel

useradd -r -s /sbin/nologin nginx

cd nginx-1.16.1/
./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

make && make install

#服務啓動開機啓動
ln -s /apps/nginx/sbin/nginx /usr/sbin
vim /etc/rc.d/rc.local 添加
/usr/sbin/nginx
chmod +x /etc/rc.d/rc.local

php-fpm編譯安裝:

1、準備編譯環境
yum install libxml2-devel bzip2-devel libmcrypt-devel

2、編譯安裝
tar xvf php-7.3.7.tar.xz
cd php-7.3.7/
./configure --prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfo
make && make install

3、準備配置文件
cp php.ini-production /etc/php.ini
#準備啓動文件
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
#準備fpm配置文件
cd /app/php/etc
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf

修改以下配置
vim /app/php/etc/php-fpm.d/www.conf
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
pm.status_path = /fpm_status
ping.path = /ping

4、啓動服務
service php-fpm start

實現多虛擬主機:

修改nginx配置
vim /apps/nginx/conf/nginx.conf
server {
    listen 80;
    server_name www.x.com;
    location / {
        root /data/php;
        index index.php;
    }
    location ~ \.php$ {
        root /data/php;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
    }

server {
    listen 80;
    server_name admin.x.com;
    location / {
        root /data/php;
        index wp-login.php index.php;
    }
    location ~ \.php$ {
        root /data/php;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
    }

nginx -s reload

客戶端設置:

C:\Windows\System32\drivers\etc
添加
192.168.44.17 www.x.com admin.x.com

 實現如下圖:

 

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