搭建一套LNMP架构的博客项目

作业

1.恢复快照
2.搭建两台LNMP
3.数据库独立
4.文件共享
5.文件实时备份
6.代理一台机器

一 。环境准备

二 。需要做的步骤

1.首先搭建两台LNMP架构的服务器(web01的部署)
	1)先安装nginx服务
	2)统一用户和用户组
	3)安装php解释器环境
	4) 修改nginx和php启动用户
	5)修改nginx和php上传文件大小
	6)启动nginx服务和php服务并加入开机自启
	7)检查启动
	8)创建博客项目目录
	9)上传博客项目代码并授权
	10)配置网站站点
	11)重启nginx服务并测试网站
	
	12)web02 安装nginx服务和php解释器
	13)创建统一用户和组
	14)修改nginx启动用户和上传大小
	15)修改php启动用户和组以及上传文件大小
	16)推送blog项目代码和nginx站点配置
	17)启动nginx和php并加入到开机自启
	18) 重启nginx服务并测试网站
	
2.数据库独立(db01服务器)
	1) 安装数据库mariadb
	2)启动数据库检查是否启动并加入到开机自启
	3)修改数据库账号密码
	4)创建数据库给blog项目使用
	5)创建远程账号允许链接数据库
	
3.文件共享(nfs服务器配置)
	0)下载nfs服务
	1)创建目录供挂载使用
	2)设置/etc/exports配置允许其他服务器挂载
	3)创建统一用户
	4)启动nfs服务
	5)配置web01和web02挂载nfs服务器
	
	
4.文件实时备份(backup服务器)
	1)创建备份数据目录/data并授权
	2) 创建统一用户和组
	3)下载rsync服务
	4) 配置rsync项目
	5)启动rsync服务并加入到开机自启
	
	6) 配置nfs服务端
    7)下载rsync和inodetify
    8)创建统一用户和组
    9)安装sersync服务
    10)配置sersync服务
    11)启动sersync服务
    
    
5.代理一台机器(id01服务器)
	1)下载nginx服务
	2) 配置nginx服务站点
	3)启动nginx服务

三。开始实战搭建

1.首先搭建两台LNMP架构的服务器(web01的部署)
1)先安装nginx服务

[root@web01 ~]# yum install -y nginx

​ 2)统一用户和用户组

[root@web01 ~]# groupadd  www -g 666
[root@web01 ~]# useradd www -u 666 -g 666

​ 3)安装php解释器环境

# 上传php服务文件
[root@web01 /package]# rz
[root@web01 /package]# ll
total 19424
-rw-r--r-- 1 root root 19889622 Aug 26 10:08 php.tar.gz

# 解压并安装php服务
[root@web01 /package]# tar xf php.tar.gz
[root@web01 /package]# yum localinstall -y *.rpm

​ 4) 修改nginx和php启动用户

[root@web01 ~]# vim /etc/nginx/nginx.conf 
user www;

[root@web01 ~]# vim /etc/php-fpm.d/www.conf 
user = www
group = www


​ 5)修改nginx和php上传文件大小

[root@web01 ~]# vim /etc/php.ini 
upload_max_filesize = 200M
post_max_size = 200

[root@web01 ~]# vim /etc/nginx/nginx.conf
client_max_body_size 200M;

​ 6)启动nginx服务和php服务并加入开机自启

[root@web01 ~]# systemctl start nginx 
[root@web01 ~]# systemctl start php-fpm.service 

[root@web01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@web01 ~]# systemctl enable php-fpm.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

​ 7)检查启动

[root@web01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      7977/php-fpm: maste 
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      5514/rpcbind        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7928/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6798/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6949/master         
tcp6       0      0 :::111                  :::*                    LISTEN      5514/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      6798/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      6949/master 

​ 8)创建博客项目目录

    
[root@web01 ~]# mkdir /code/blog -p

​ 9)上传博客项目代码并授权

[root@web01 /code/blog]# rz

[root@web01 /code/blog]# ll
total 4
drwxr-xr-x 5 1006 1006 4096 Jan 11  2019 blog

[root@web01 /code/blog]# chown -R www.www /code/
[root@web01 /code/blog]# 

​ 10)配置网站站点

[root@web01 /etc/nginx]# vim conf.d/linux.blog.com.conf
systemctl restart nginx
[root@web01 /code/blog]# vim /etc/nginx/conf.d/linux.blog.com.conf
server {
        listen 80;
        server_name linux.blog.com;
        root /code/blog;

        location / {
                index index.php;
        }

        location ~* \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

​ 11)重启nginx服务并测试网站

# 配置windows hosts文件
c:/windows/system32/drivers/etc/hosts
10.0.0.7 linux.blog.com

​ 12)web02 安装nginx服务和php解释器

[root@web02 ~]# yum install -y nginx
# 上传php服务文件
[root@web02 /package]# rz
[root@web02 /package]# ll
total 19424
-rw-r--r-- 1 root root 19889622 Aug 26 10:08 php.tar.gz

# 解压并安装php服务
[root@web02 /package]# tar xf php.tar.gz
[root@web02 /package]# yum localinstall -y *.rpm

​ 13)创建统一用户和组

[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666


​ 14)修改nginx启动用户和上传大小

[root@web02 ~]# vim /etc/nginx/nginx.conf 
user www;
client_max_body_size 200M;

​ 15)修改php启动用户和组以及上传文件大小

[root@web02 ~]# vim /etc/php-fpm.d/www.conf 
user = www
group = www 

[root@web02 ~]# vim /etc/php.ini 
upload_max_filesize = 200M
post_max_size = 200M


​ 16)推送blog项目代码和nginx站点配置

# 打包blog项目和nginx配置
[root@web01 ~]# tar czPf code.tar.gz /code
[root@web01 ~]# tar czPf nginx.tar.gz /etc/nginx 

# 推送到web02
[root@web01 ~]# tar czPf code.tar.gz /code
[root@web01 ~]# tar czPf ngnx.tar.gz /etc/nginx
[root@web01 ~]# scp -r code.tar.gz ngnx.tar.gz 172.16.1.8:/root/

# web02切换到跟目录解压包
[root@web02 ~]# cd /
[root@web02 /]# tar xf /root/code.tar.gz
[root@web02 /]# tar xf /root/nginx.tar.gz


​ 17)启动nginx和php并加入到开机自启

[root@web02 /]# systemctl start php-fpm.service 
[root@web02 /]# systemctl enable  php-fpm.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

[root@web02 /]# systemctl start nginx
[root@web02 /]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

  1. 配置windows的hosts文件测试网站
# 配置windows hosts文件
c:/windows/system32/drivers/etc/hosts
10.0.0.8 linux.blog.com

2.数据库独立(db01服务器)
1) 安装数据库mariadb

[root@db01 ~]# yum install -y mariadb-server

​ 2)启动数据库检查是否启动并加入到开机自启

[root@db01 ~]# systemctl start mariadb.service 
[root@db01 ~]# systemctl enable mariadb.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.


[root@db01 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      17505/mysqld        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      6350/rpcbind        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6790/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6875/master         
tcp6       0      0 :::111                  :::*                    LISTEN      6350/rpcbind        
tcp6       0      0 :::22                   :::*                    LISTEN      6790/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      6875/master         
[root@db01 ~]# 


​ 3)修改数据库账号密码

[root@db01 ~]# mysqladmin -uroot password '123456'

​ 4)创建数据库给blog项目使用

[root@db01 ~]# mysql -uroot -p123456
MariaDB [(none)]> create database blog;

​ 5)创建远程账号允许链接数据库

MariaDB [(none)]> grant all on blog.* to blog@'172.16.1.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

3.文件共享(nfs服务器配置)
0)下载nfs服务

[root@nfs ~]# yum install -y nfs-utils

​ 1)创建目录供挂载使用

[root@nfs ~]# mkdir /data

​ 2)设置/etc/exports配置允许其他服务器挂载

[root@nfs ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
 

​ 3)创建统一用户

[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666

[root@nfs ~]# chown -R www.www /data/


​ 4)启动nfs服务

[root@nfs ~]# systemctl start nfs-server.service 
[root@nfs ~]# systemctl enable nfs-server.service 

# 检查配置能否被链接
[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)

​ 5)配置web01和web02挂载nfs服务器

# 检查能否链接
[root@web02 /]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24


# web02挂载nfs服务器
[root@web02 /code/blog/wp-content]# mount -t nfs 172.16.1.31:/data ./uploads
[root@web02 /code/blog/wp-content]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.5G   18G   8% /
devtmpfs           980M     0  980M   0% /dev
tmpfs              991M     0  991M   0% /dev/shm
tmpfs              991M  9.5M  981M   1% /run
tmpfs              991M     0  991M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs              199M     0  199M   0% /run/user/0
172.16.1.31:/data   19G  1.3G   18G   7% /code/blog/wp-content/uploads

# web01挂载nfs服务器
[root@web01 /code/blog/wp-content]# mount -t nfs 172.16.1.31:/data ./uploads/
[root@web01 /code/blog/wp-content]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3           19G  1.6G   17G   9% /
devtmpfs           980M     0  980M   0% /dev
tmpfs              991M     0  991M   0% /dev/shm
tmpfs              991M  9.5M  981M   1% /run
tmpfs              991M     0  991M   0% /sys/fs/cgroup
/dev/sda1          497M  120M  378M  25% /boot
tmpfs              199M     0  199M   0% /run/user/0
172.16.1.31:/data   19G  1.3G   18G   7% /code/blog/wp-content/uploads

4.文件实时备份(backup服务器)
1)创建备份数据目录/data

[root@backup ~]# mkdir /data
[root@backup ~]# 

​ 2) 创建统一用户和组

[root@backup ~]# groupadd www -g 666
[root@backup ~]# useradd www -u 666 -g 666
 
 # 授权
[root@backup ~]# chown -R www.www /data
[root@backup ~]# 

​ 3)下载rsync服务

[root@backup ~]# yum install -y rsync

​ 4) 配置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.password
log file = /var/log/rsyncd.log
[data]
comment = welcome to oldboyedu backup!
path = /data

# 创建密码文件并授权600
[root@backup ~]# vim /etc/rsync.password
rsync_backup:123456

[root@backup ~]# chmod 600 /etc/rsync.password 
[root@backup ~]# 

​ 5)启动rsync服务并加入到开机自启

[root@backup ~]# systemctl start rsyncd
[root@backup ~]# 

​ 6) 配置nfs服务端

# 下载rsync和实时监控inotify-tools
[root@nfs ~]# yum install -y rsync inotify-tools

​ 7)下载rsync和inodetify
​ 8)创建统一用户和组

​ 9)安装sersync服务

[root@nfs ~]# rz

[root@nfs ~]# ll
total 712
-rw-r--r-- 1 root root 727290 Aug 14 20:01 sersync2.5.4_64bit_binary_stable_final.tar.gz
[root@nfs ~]# tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/

[root@nfs /usr/local]# mv GNU-Linux-x86/ ./sersync

​ 10)配置sersync服务

[root@nfs /usr/local/sersync]# vim confxml.xml 

<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
    <host hostip="localhost" port="8008"></host>
    <debug start="false"/>
    <fileSystem xfs="false"/>
    <filter start="false">
        <exclude expression="(.*)\.svn"></exclude>
        <exclude expression="(.*)\.gz"></exclude>
        <exclude expression="^info/*"></exclude>
        <exclude expression="^static/*"></exclude>
    </filter>
    <inotify>
        <createFile start="true"/>
        <closeWrite start="true"/>
        <moveFrom start="true"/>
        <moveTo start="true"/>
        <attrib start="true"/>
        <modify start="true"/>
    </inotify>

    <sersync>
        <localpath watch="/data">
            <remote ip="172.16.1.41" name="data"/>
            <!--<remote ip="192.168.8.39" name="tongbu"/>-->
            <!--<remote ip="192.168.8.40" name="tongbu"/>-->
        </localpath>
        <rsync>
            <commonParams params="-artuz"/>
            <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
            <userDefinedPort start="false" port="874"/><!-- port=874 -->
            <timeout start="false" time="100"/><!-- timeout=100 -->
            <ssh start="false"/>
        </rsync>
        <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
        <crontab start="false" schedule="600"><!--600mins-->
            <crontabfilter start="false">
                <exclude expression="*.php"></exclude>
                <exclude expression="info/*"></exclude>
            </crontabfilter>
        </crontab>
       
# 创建密码文件并授权
[root@nfs /usr/local/sersync]# vim /etc/rsync.password 
123456

[root@nfs /usr/local/sersync]# chmod 600 /etc/rsync.password

​ 11)启动sersync服务

[root@nfs /data]# /usr/local/sersync/sersync2 -dro /usr/local/sersync/confxml.xml 

5.代理一台机器(id01服务器)
1)下载nginx服务

[root@id01 /etc/nginx/conf.d]# yum install -y nginx


​ 2) 配置nginx服务站点

[root@id01 /etc/nginx/conf.d]# vim linux.blog.com.conf

server {
        listen 80;
        server_name linux.blog.com;

        location / {
        proxy_pass http://172.16.1.7:80;
        proxy_set_header Host $http_host;

        }

​ 3)启动nginx服务

[root@id01 /etc/nginx/conf.d]# systemctl start nginx

原文地址:https://www.cnblogs.com/xiaolang666/p/13583174.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


本篇内容介绍了“LNMP服务器环境配置实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情...
本篇内容主要讲解“OneinStack如何一键安装LNMP”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“OneinStack如何...
小编给大家分享一下如何解决LNMP安装composer install时出现Warning: putenv()问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅...
1.源码安装mysql鉴于前边的文章已经详细说过mysql的源码安装可以点击基于LAMP的Discuz论坛的实现(源码安装)自行查看这里为了节省时间用一个shell脚本进行mysql的源码安装用到的mysql依然是5.6.46没有源码包的同学可以点击【mysql-5.6.46.tar.gz提取码:nli5】进行下载
Linux是非常热门的技术,也是当下非常受欢迎的操作系统,具有独特的优势所在,广受大家的喜欢和追捧,今天为大家分享一下几款常用的Linux系统面板,希望对你有所帮助。1、宝塔面板:是一款使用方便、功能强大而且终身免费的服务器管理软件,支持Linux以及Windows系统,一键配置LAMP/LNMP
██【電:131.乀.1418.乀.6667】【薇q:9788.乀.9181】██柬埔寨东方明珠开户目录LAMP1.安装Mariadb2.安装PHP3.测试php和apache的协同4.修改MariaDB数据库配置5.测试数据库连接LNMP(未完待续)LAMP1.安装Mariadb在RaspberryPi中,MySQL无法安装,会自动建议安装Maria
关闭防火墙安装依赖包上传源码包解压源码包,安装nginx启动nginx安装mysql和PHP相关服务修改nginx配置文件,nginx和PHP进行整合重新加载nginx服务启动php-fpm书写PHP测试页测试网页 
一.lnmp的搭建1.准备一台纯净版的虚拟机2.下载Lnmp一键安装包命令:wget http://soft.vpser.net/lnmp/lnmp1.5-full.tar.gz【安装完整版的-推荐1.5版本】也可以本地下载好,通过rz上传:http://soft.vpser.net/lnmp/lnmp1.5-full.tar.gz3.开始安装命令:cdlnmp1.5-full 
1.LNMP理论fastcgi的主要优点:把动态语言和http服务器分离开来,使nginx可以处理静态请求和向后转发动态请求,而php/php-fpm服务器转移解析PHP动态请求使用fastcgi的原因:Nginx不支持对外部动态程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。
keepalived高可用keepalived注意:任何软件都可以使用keepalived来做高可用keepalived如何实现高可用VRRP:虚拟路由冗余协议比如公司的网络是通过网关进行上网的,那么如果该路由器故障了,网关无法转发报文了,此时所有人都无法上网了,怎么办?通常做法是给路由器增加一台备节点,但是问
通过阿里云的服务器搭建lnmp架构以及部署wordpress个人博客,连接上域名所遇到的问题及解决办法注释:操作系统centos7.9第一步:购买阿里云ecs服务器,选择系统及其他硬件,下面是我自己购买的配置,可以参考(注意操作系统我购买的时候选错了,后来换成了centos7.9)然后在阿里云“云服
文章目录1.首先了解编译安装和yum安装的区别。2.yum安装准备工作---切换阿里云yum源3.编译安装lnmp**很不建议使用编译安装,麻烦且容易报错。**4.yum安装lnmp**可以先执行一下yumupdate**5.lnmp一键安装[参考网站](https://lnmp.org/)**不喜欢这种方式,所以没测试
电影院系统解压登录mysql创建电影院系统使用的数据库授权账户skyuc访问数据库讲系统部署到www.benet.com网站根目录下mv/usr/src/SKYUC.v3.4.2.SOURCE/wwwroot/*/var/www/benetcom/设置网站根目录所有者和权限客户机测试论坛系统部署解压复制文件到网站根目
下载:​ https://www.php.net/downloads​ https://www.php.net/distributions/php-8.0.6.tar.gz编译安装php:①安装依赖:yum-yinstalllibxml2-develsqlite-develbzip2-devellibcurl-devellibpng-devellibjpeg-develfreetype-devellibicu-develoniguruma-devellibxs
树莓派LNMP关键词:raspberrywebphpdnsmysq1LNMP、LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写,分别指Linux、Nginx/Apache、MySQL和PHP。这里演示如何在树莓派上搭建LNMP环境并配置多个站点。主要内容:树莓派安装nginx树莓派安装ph
官网:http://kodcloud.com/1、准备MySQL数据库 [root@cent8_yzl_20~]#yuminstall-ymysql-server[root@cent8_yzl_20~]#systemctlenable--nowmysqld[root@cent8_yzl_20~]#mysqlmysql>createdatabasekodbox;mysql>createuserkodbox@'10.0.0.
环境应用IP操作系统nginx192.168.122.131centos8mysql192.168.122.132centos8php192.168.122.133centos8准备工作//关闭防火墙#systemctldisable--nowfirewalld#setenforce0#vim/etc/selinux/configSELINUX=disabled安装nginx//安装依
1.购买vps或者外国云主机2.搭建ss服务端3.客户端配置服务端信息,即可。不废话,开始教程:ss-panel-v3简介ss-panel是一套功能齐全的shadowsocks用户管理面板,它可以实现用户注册、用户管理、流量控制、签到、添加多节点、充值购买、邀请返利等诸多功能,是目前网络上使用最广泛的一
LNMP架构数据迁移至NFS第一步:先将原有目录中数据移出数据存储到本地什么位置,获取方法1.通过网站页面右键点击,获取资源地址信息2.find命令利用-mmin53.利用inotify服务监控目录数据变化[root@web01wp-content]#cd/applicationginx/html/blog/wp-content/uploads[root@we
一 点睛业务上线之前最关键的一项任务便是环境部署,往往一个业务涉及多种应用环境,比如Web、DB、PROXY、CACHE等,本示例通过env.roledefs定义不同主机角色,再使用“@roles('webservers')”修饰符绑定到对应的任务函数,实现不同角色主机的部署差异。二 代码#coding=utf-8#!/usr