企业部署nginx php mysql和wordpress wecenter模板

模拟企业架构


环境准备

企业部署nginx php mysql和wordpress wecenter模板_第1张图片

主机名 外网IP 内网IP 安装服务
web01 10.0.0.7 172.16.1.7 nginx php nfs-utils
web02 10.0.0.8 172.16.1.8 nginx php nfs-utils
nfs 10.0.0.31 172.16.1.31 nfs-utils
db01 10.0.0.51 172.16.1.51 mariadb-server

web01和web02部署nginx,php,mariadb 方法一

web01

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的默认启动用户
groupadd www -g 666 
useradd www -u 666 -g 666 -s /sbin/nologin -M

3.下载官方nginx
yum install -y nginx

4.修改nginx配置文件
sed -i '/^user/c user www;' /etc/nginx/nginx.conf
[root@web01 ~]# vim /etc/nginx/nginx.conf 	(二选一)
user www;

5.启动,加入开机自启动
systemctl start nginx
systemctl enable nginx


6.使用第三方扩展源安装php7.1
#先卸载系统自带的php5.4
yum remove -y php-mysql-5.4 php php-fpm php-common

#配置第三方源,下载指定版本的php(7.1)
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

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

7.配置php-fpm用户与Nginx的运行用户保持一致,不修改的话,nginx连不上PHP
sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf 
sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf

8.启动php-fpm加入开机自启
systemctl start php-fpm
systemctl enable php-fpm

9.检查进程和端口(#选做)
ps -ef|grep -E 'nginx|php'
netstat -lntup|grep -E '80|9000'

10.检查nginx和PHP,PHP和mysql数据库能不能连接(#选做)

11.安装nfs
[root@nfs ~]# yum install -y nfs-utils
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

systemctl start nginx php-fpm mariadb nfs
systemctl enable nginx php-fpm mariadb nfs

web02同上

优点:复制粘贴即可

缺点:安装速度较慢

web01和web02部署nginx,php,nfs方法二

web01和web02同时操作

#使用rz命令上传本地提前打包好的rpm_php的压缩包

# 1.解压打好的包
[root@web01 ~]# tar xf nginx_php.tar.gz
# 2.进入解压开的目录
[root@web01 nginx_php]# cd nginx_php/
# 3.安装nginx和php
yum remove -y php-mysql-5.4 php php-fpm php-common
[root@web01 nginx_php]# yum -y localinstall *.rpm

# 1.解压打好的包
[root@web02 ~]# tar xf nginx_php.tgz
# 2.进入解压开的目录
[root@web02 nginx_php]# cd nginx_php/
# 3.安装nginx和php
	#先卸载系统自带的php5.4
yum remove -y php-mysql-5.4 php php-fpm php-common
[root@web02 nginx_php]# rpm -Uvh *rpm

# 4.创建www用户
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s

# 5.修改nginx和PHP的用户
sed -i '/^user/c user www;' /etc/nginx/nginx.conf
sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf 
sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
或者
[root@web01 ~]# vim /etc/nginx/nginx.conf
user www;
[root@web01 ~]# vim /etc/php-fpm.d/www.conf
user = www
group = www
[root@web02 ~]# vim /etc/nginx/nginx.conf
user www;
[root@web02 ~]# vim /etc/php-fpm.d/www.conf
user = www
group = www

# 6.安装nfs
[root@nfs ~]# yum install -y nfs-utils
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils

# 7.db01安装mariadb
yum install -y mariadb-server

# 设置开机自启动
systemctl start nginx php-fpm  nfs-utils
systemctl enable nginx php-fpm  nfs-utils

优点:安装简单,速度快,可以使用xshell同步进行,提高生产效率

缺点:需要提前做好nginx_php的压缩包


配置web01的wordpress

vim /etc/nginx/conf.d/wp.conf
server {
	listen 80;
	server_name cs.wp.com;
	root /wp;
	index info.php index.php;
 
	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
		}
}

2.重载nginx服务
nginx -sreload

3.获取wordpress产品,解压并部署wordpress
mkdir /wp && cd /wp

#三选一
wget http://test.driverzeng.com/Nginx_Code/wordpress-5.0.3-zh_CN.tar.gz
wget https://cn.wordpress.org/wordpress-5.0.3-zh_CN.tar.gz
wget https://cn.wordpress.org/latest-zh_CN.tar.gz

tar xf wordpress-5.0.3-zh_CN.tar.gz && chown -R www.www /wp && mv wordpress/* . && rm -rf /wp/wordpress-5.0.3-zh_CN.tar.gz /wp/wordpress 

5.域名解析
10.0.0.7 cs.wp.com

6.通过浏览器访问wordpress,并部署该产品
cs.wp.com

数据库操作

# 1.启动数据库并加入开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
# 2.给root一个密码
[root@db01 ~]# mysqladmin -uroot password '1'
# 3.连接数据库
[root@db01 ~]# mysql -uroot -p1
# 4.创建用户
MariaDB [(none)]> grant all on *.* to wp_user@'%' identified by '1';
MariaDB [(none)]> grant all on *.* to zh_user@'%' identified by '1';
# 5.创建数据库
MariaDB [(none)]> create database wp;
MariaDB [(none)]> create database zh;
# 6.重启数据库
systemctl restart mariadb

web01修改代码连接新数据库环境(参考)

1.修改Wordpress产品代码连接数据库的配置文件
[root@web01 ~]# vim /code/wordpress/wp-config.php
# 数据库名称
define('DB_NAME', 'wp');
# 数据库用户
define('DB_USER', 'wp_user');
# 数据库密码
define('DB_PASSWORD', '1');
# 数据库地址
define('DB_HOST', '172.16.1.51');

2.修改wecenter产品代码连接数据库的配置文件
[root@web01 zh]#  grep -ir "zh_user"|grep -v cache
system/config/database.php:  'password' => 'Zls123.com',
[root@web01 zh]# vim /code/zh/system/config/database.php
'host' => '172.16.1.51',
'username' => 'zh_user',
'password' => '1',
'dbname' => 'zh',

3.最后访问网站,成功打开,至此拆分数据库完成

web02部署(部分选做)

1.创建www用户(#选)
[root@web02 ~]# groupadd -g666 www
[root@web02 ~]# useradd -u666 -g666 www

2.安装LNP
[root@web02 ~]# scp -rp [email protected]:/etc/yum.repos.d/* /etc/yum.repos.d/
[root@web02 ~]# scp -rp [email protected]:/etc/pki/rpm-gpg/* /etc/pki/rpm-gpg/
 
[root@web02 ~]# yum install nginx -y
[root@web02 ~]# 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

3.将web01的nginx配置文件导入到web02
[root@web02 ~]# scp -rp [email protected]:/etc/nginx /etc

4.将web01的php配置文件导入到web02
[root@web02 ~]# scp -rp [email protected]:/etc/php-fpm.d /etc/

5.将web01的产品代码打包传输到web02服务器上,在web01上线进行打包操作
[root@web01 ~]# tar czf wp.tar.gz /wp
[root@web01 ~]# scp wp.tar.gz [email protected]:/tmp
 
#在web02服务器上进行解压
[root@web02 ~]# tar xf /tmp/wp.tar.gz -C /

6.最后启动nginx与php-fpm,并加入开机自启(#选做)
[root@web02 ~]# systemctl start nginx php-fpm 
[root@web02 ~]# systemctl enable nginx php-fpm

7.域名解析
10.0.0.8 cs.wp.com

8.查看日志确认是否访问的是10.0.0.8
tailf /var/log/nginx/access

nfs服务端配置共享存储

# 1.编辑nfs配置文件
[root@nfs ~]# vim /etc/exports
/wp_data 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)
/zh_data 172.16.1.0/24(sync,rw,all_squash,anonuid=666,anongid=666)
# 2.创建共享目录
[root@nfs ~]# mkdir /wp_data /zh_data
# 3.授权
[root@nfs ~]# chown -R www.www /wp_data/ /zh_data/
# 4.启动服务,并加入开机自启
[root@nfs ~]# systemctl start nfs-server
[root@nfs ~]# systemctl enable nfs-server
# 5.没有上传过图片,直接创建uploads目录,上传过图片,先把数据拷贝到nfs中
web01执行即可(选做): mkdir /wp/wp-content/uploads -p
[root@web01 ~]# scp -r /wp/wp-content/uploads/* [email protected]:/wp_data && chown -R www.www /wp_data/
# 6.授权(选做)
[root@nfs ~]# chown -R www.www /wp_data/
# 7.挂载
[root@web01 ~]# mount -t nfs 172.16.1.31:/wp_data /wp/wp-content/uploads/
[root@web02 ~]# mount -t nfs 172.16.1.31:/wp_data /wp/wp-content/uploads/


部署知乎

# 1.创建知乎的nginx配置文件
[root@web01 conf.d]# cp b.zls.com.conf z.zls.com.conf
server {
	listen 80;
	server_name cs.zh;
	root /zh;
	index index.php;
		
	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;
		}
}
# 2.创建站点目录
[root@web01 conf.d]# mkdir /zh
# 2.1重新加载nginx
[root@web01 zh]# systemctl reload nginx
# 3.部署zh代码
[root@web01 zh]# cd /zh
[root@web01 zh]# wget http://test.driverzeng.com/Nginx_Code/WeCenter_3-2-1.zip
[root@web01 zh]# unzip WeCenter_3-2-1.zip
# 4.将代码移动到/code/zh下
[root@web01 zh]# mv WeCenter_3-2-1/* .&& rm -rf WeCenter_3-2-1
# 5.授权
[root@web01 zh]# chown -R www.www /zh
# 6.域名解析
10.0.0.7 cs.zh.com
# 7.打开浏览器访问:z.zls.com

web02部署知乎

[root@web01 zh]# scp /etc/nginx/conf.d/wp.conf 172.16.1.8:/etc/nginx/conf.d/zh.conf
[root@web01 zh]# chown -R www.www /zh && scp -r /zh 172.16.1.8:/zh

[root@web02 ~]# systemctl reload nginx
[root@web02 ~]# mount -t nfs 172.16.1.31:/zh_data /zh/uploads/

web02修改代码连接新数据库环境(参考)

1.修改Wordpress产品代码连接数据库的配置文件
[root@web01 ~]# vim /code/wordpress/wp-config.php
数据库名称
define('DB_NAME', 'zh');
数据库用户
define('DB_USER', 'zh_user');
数据库密码
define('DB_PASSWORD', '1');
数据库地址
define('DB_HOST', '172.16.1.51');

2.修改wecenter产品代码连接数据库的配置文件
[root@web01 zh]# grep -ir "zh_user"|grep -v cache
system/config/database.php: 'password' => 'Zls123.com',
[root@web01 zh]# vim /code/zh/system/config/database.php
'host' => '172.16.1.51',
'username' => 'zh_user',
'password' => '1',
'dbname' => 'zh',

3.最后访问网站,成功打开,至此拆分数据库完成

你可能感兴趣的:(企业部署nginx php mysql和wordpress wecenter模板)