安装nginx
useradd -s /sbin/nologin www -M
yum -y install pcre-devel openssl-devel
./configure \
--prefix=/application/nginx-1.12.2 \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_stub_status_module
make
make install
php
php语言 解释型语言
lamp (linux apache(httpd)mysql php)
安装php (php解释器)
php程序(php-fpm)+ php解释器
145M php-5.5.38
代码(文本) --- 编译 --》 二进制
configure
yum install -y zlib libjpeg freetype libpng gd curl zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libjpeg-turbo-devel libcurl-devel libxslt-devel
yum -y install libmcrypt-devel mhash mcrypt
配置编译选项 (预编译)
./configure \
--prefix=/application/php-5.5.38 \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--with-gettext \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-opcache=no \
--enable-ftp
147M php-5.5.38
编译
make
319M php-5.5.38
安装
make install
配置
php解释器配置文件
cp /server/tools/php-5.5.38/php.ini-production /application/php-5.5.38/lib/php.ini
php主配置文件
cp /application/php-5.5.38/etc/php-fpm.conf.default /application/php-5.5.38/etc/php-fpm.conf
php7配置
cp /application/php-7.2.4/etc/php-fpm.d/www.conf.default /application/php-7.2.4/etc/php-fpm.d/www.conf
启动
/application/php-5.5.38/sbin/php-fpm
nginx主配置文件配置
cat /application/nginx-1.10.3/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 80;
server_name blog.etiantian.org;
root html/blog;
index index.php index.html index.htm;
access_log logs/access.log main;
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
}
cat /application/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
error_log /app/logs/nginx_error.log;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server {
listen 80;
server_name blog.etiantian.org;
root /app/html/blog;
index index.php index.html index.htm;
access_log /app/logs/blog/blog_access.log main;
location ~ .*\.(php|php5)?$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
}
php测试文件
cat /application/nginx/html/blog/index.php
<?php
phpinfo();
?>
#源码安装MySQL
wget https://downloads.mysql.com/archives/get/file/mysql-5.6.36.tar.gz
yum install -y gcc gcc-c++ automake autoconf
yum -y install cmake bison-devel ncurses-devel libaio-devel
预编译
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.34 \
-DMYSQL_DATADIR=/application/mysql-5.6.34/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.34/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_ZLIB=bundled \
-DWITH_SSL=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_DEBUG=0
编译 && 安装
make && make install
安装后操作
useradd -s /sbin/nologin mysql -M
ln -s /application/mysql-5.6.34 /application/mysql
chown -R mysql.mysql /application/mysql/data
/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
/bin/cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
/bin/cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
echo 'export PATH=/application/mysql/bin:$PATH' >> /etc/profile
. /etc/profile
chkconfig --add mysqld
#二进制安装修改
sed -i 's#/usr/local#/application#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
#MySQL配置文件修改
/etc/my.cnf
[mysqld]
basedir = /application/mysql
datadir = /data/mysql/data
启动错误
Starting MySQL.Logging to '/application/mysql-5.6.36/data/db01.err'.
171113 13:07:01 mysqld_safe Directory '/application/mysql-5.6.36/tmp' for UNIX socket file don't exists.
ERROR! The server quit without updating PID file (/application/mysql-5.6.36/data/db01.pid).
mkdir /application/mysql-5.6.36/tmp
chown -R mysql.mysql /application/mysql-5.6.36/tmp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#删除无用的用户
drop user root@'db01';
drop user ''@'db01';
drop user ''@'localhost';
drop user root@'::1';
#mysql数据库添加授权用户
grant all on wordpress.* to wordpress@'172.16.1.%' identified by '123456';
wordpress用户登录数据库
mysql -h 172.16.1.7 -uwordpress -p123456
php连接mysql测试文件
cat /application/nginx/html/blog/php_mysql.php
<?php
//$link_id=mysql_connect('主机名','用户','密码');
$link_id=mysql_connect('172.16.1.7','wordpress','123456') or mysql_error();
if($link_id){
echo "mysql successful by wordpress !\n";
}else{
echo "mysql_error()";
}
?>
wordpress程序部署
1、上传wordpress程序到站点目录blog并授权www用户
chown -R www.www blog/
2、创建数据库wordpress
create database wordpress;
3、web页面操作
blog.etiantian.org
++++++++++++++++++++++++++++++++++++++++++
web01服务器存储目录挂载到nfs01共享目录
yum install rpcbind nfs-utils
1、nfs01操作
/etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=502,anongid=502)
nfs01 www用户uid与 web01 www用户uid相同
useradd -u 502 -s /sbin/nologin -M www
web01操作
1、查找图片目录
方法1:
find ./blog/ -type f -mmin -5
方法2:
inotify -mrq html/blog
方法3:
http://blog.etiantian.org/wp-content/uploads/2018/02/dns%E7%B3%BB%E7%BB%9F-300x199.jpg
2、挂载之前把图片目录暂时移走
3、挂载
mount -t nfs 172.16.1.31:/data /application/nginx/html/blog/wp-content/uploads
4、把图片目录移动回来
+++++++++++++++++++++++++++++++++++++++++++++++++
迁移数据
方法1:
1、准备db01机器 (10.0.0.51 172.16.1.51)安装 mysql
2、web01数据库导出
方法1:
mysqldump -uroot -poldboy123 -B wordpress > /tmp/wordpress.sql
方法2:
mysqldump -uroot -poldboy123 -A -B > /tmp/all.sql
2、db01(10.0.0.51 172.16.1.51)到导入数据
方法1:
mysql -uroot -poldboy123 < /tmp/wordpress.sql
方法2:
mysql -uroot -poldboy123 < /tmp/all.sql
3、登录db01数据库刷新权限
flush privileges;
方法2:
rsync -a /application/mysql-5.6.34 [email protected]:/application/
scp /etc/my.cnf [email protected]:/etc/
scp /etc/init.d/mysqld [email protected]:/etc/init.d/
附:
mysql数据库 sql语句
查看所有数据库
show databases;
创建数据库wordpress
create database wordpress;
进入数据库wordpress
use wordpress;
查看wordpress数据库中的所有表
show tables from wordpress;
添加用户 wordpress@'172.16.1.0/255.255.255.0' 并授权
grant all on *.* to wordpress@'172.16.1.0/255.255.255.0' identified by '123456';
查看数据库用户信息
select user,host,password from mysql.user;
删除数据库用户
drop user wordpress@'172.16.1.0/255.255.255.0';