一、編譯安裝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
實現如下圖: