使用LNMP架构搭建网站

使用LNMP架构搭建网站

环境准备

主机名 WanIP LanIP 角色 安装应用
web01 10.0.0.7 172.16.1.7 web网站,nfs客户端 nginx,php,nfs
web02 10.0.0.8 172.16.1.8 web网站,nfs客户端 nginx,php,nfs
nfs 10.0.0.31 172.16.1.31 nfs服务端,rsync客户端 nfs,rsync,inotify
backup 10.0.0.41 172.16.1.41 rsync服务端,nfs服务端(备机) nfs,rsync
db01 10.0.0.51 172.16.1.51 数据库 mariadb

部署web网站(wen01,web02)

1.配置nginx的官方源和php第三方源
[root@web01 ~]# 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

[root@web01 ~]# cat /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
2.安装php,nginx,nfs
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 nginx mariadb-server nfs-uilts
3.配置nginx虚拟主机配置文件
vim /etc/nginx/conf.d/blog.jl.com.conf
server{
        listen 80;
        server_name www.jl.com;
        root /blog/wecenter;
        index index.php index.html;

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
4.修改nginx启动用户
[root@web02 ~]# vim /etc/nginx/nginx.conf 
user  www;
5.修改php启动用户
[root@web01 ~]# vim /etc/php-fpm.d/www.conf 
; Start a new pool named 'www'.
[www]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = www
; RPM: Keep a group allowed to write in log dir.
group = www
6.创建www用户
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
7.创建站点目录
mkdir /blog
8.授权站点目录
chown www:www /blog
9.测试nginx连接php
[root@web02 ~]# vim /blog/wecenter/info.php 
<?php
        phpinfo()
?>
10.windows域名解析
	10.0.0.8 blog.jl.com
11.浏览器访问

12.下载代码到站点目录中
13.解压文件
[root@web02 /blog/wecenter]# unzip WeCenter_3-2-1.zip 
14.给站点目录授权
chown -R www:www /blog

部署数据库(db01)

1.安装数据库
yum install -y mariadb-server
2.启动数据库并加入开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
3.给mysql管理员用户设置密码
[root@db01 ~]# mysqladmin -uroot -p password '123'
4.连接数据库
mysql -uroot -p123
5.创建数据库
MariaDB [(none)]> create database wecenter;
6.创建用户
MariaDB [(none)]> grant all on *.* to wt_user@'%' identified by '123';
7.查看数据库是否创建成功
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wecenter           |
+--------------------+
5 rows in set (0.00 sec)
8.查看用户是否创建成功
MariaDB [(none)]> select user,host from mysql.user;
+---------+-----------+
| user    | host      |
+---------+-----------+
| wt_user | %         |
| root    | 127.0.0.1 |
| root    | ::1       |
|         | db01      |
| root    | db01      |
|         | localhost |
| root    | localhost |
+---------+-----------+
wecenter库:wecenter
wecenter用户:wt_user
wecenter用户密码:123
wecenter用户IP:%
9.测试php是否可以和mysql建立连接
[root@web02 /blog/wecenter]# vim pm.php

<?php
    $servername = "10.0.0.51";
    $username = "wt_user";
    $password = "123";

    // 创建连接
    $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>

部署web网站(web01,web02)

1.访问网站

2.填写配置系统

3.创建用户

4.将web02站点目录下的代码复制到web01中
scp -r /blog/* 172.16.1.7:/blog/
5.使用web01访问网站

配置nfs共享存储-服务端(nfs,backup)

1.安装nfs服务
yum install -y nfs-utils
2.修改nfs配置文件
[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,anonuid=666,anongid=666,all_squash)
3.创建共享目录
mkdir /data
4.创建www用户和组
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
5.授权共享目录
chown www:www /data
6.启动nfs加入开机自启
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl enable nfs
7.检查nfs配置文件是否生效
[root@nfs ~]# cat /var/lib/nfs/etab 
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)

配置nfs客户端(web01,web02)

1.安装nfs服务
yum install -y nfs-utils
2.查看挂载点
[root@web01 /blog/wecenter]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
3.拷贝已有的数据到共享目录中
 scp -r /blog/wecenter/uploads/article/ 172.16.1.31:/data
4.给共享目录授权
chown -R www:www /data
5.挂载目录
mount -t nfs 172.16.1.31:/data /blog/wecenter/uploads/
6.查看是否挂载成功
[root@web02 /blog/wecenter]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.7G   17G   9% /
devtmpfs           476M     0  476M   0% /dev
tmpfs              487M     0  487M   0% /dev/shm
tmpfs              487M  7.7M  479M   2% /run
tmpfs              487M     0  487M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs               98M     0   98M   0% /run/user/0
172.16.1.31:/data   19G  1.4G   18G   8% /blog/wecenter/uploads

使用sersync部署数据同步-服务端(backup)

1.安装rsync
[root@backup ~]# vim /etc/rsyncd.conf 
uid = www
gid = www
port = 873
fake super = yes
use chroot = no
max connections = 200
timeout = 600
ignore errors
read only = false
list = false
auth users = rsync_backup
secrets file = /etc/rsync.passwd
log file = /var/log/rsyncd.log
#####################################
[sync_data]
comment = welcome to oldboyedu backup!
path = /data
3.创建密码文件
echo 'rsync_backup:123'>/etc/rsync.passwd
4.修改密码文件权限为600
chmod 600 /etc/rsync.passwd
5.启动rsync服务并加入开机自启
[root@backup ~]# systemctl start rsyncd
[root@backup ~]# systemctl enable rsyncd

配置rsync客户端(nfs)

1.安装rsync,inotify
[root@nfs ~]# yum install -y rsync inotify-tools
2.创建rsync的密码文件
[root@nfs ~]# echo '123' > /etc/rsync.passwd
3.修改密码文件权限为600
[root@nfs ~]# chmod 600 /etc/rsync.passwd 
4.推数据测试rsync是否配置成功

5.安装sersync的二进制包:
	   wget http://test.driverzeng.com/other/sersync2.5.4_64bit_binary_stable_final.tar.gz
6.解压安装包
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz
7.修改sersync配置文件
vim GNU-Linux-x86/confxml.xml

8.启动服务
[root@nfs ~]# /root/GNU-Linux-x86/sersync2 -rdo /root/GNU-Linux-x86/confxml.xml
9.查看服务端的/data目录下是否有客户端的数据

posted on   jilei  阅读(431)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示