首页 > 其他分享 >黄金web架构之LAMP

黄金web架构之LAMP

时间:2024-01-29 21:25:20浏览次数:34  
标签:web 架构 -- lamp apr LAMP 241 mysql root

什么是LAMP

Linux 操作系统
Apache/Nginx    web服务器 
Mysql/Mariadb
Perl/Php/Python

部署LAMP实战

环境准备

关于基础软件的配置

大前提是,你的yum源配置好了吗?
建议用最新的阿里云yum源
[root@client-242 ~]# yum install wget -y
再去配置阿里云的yum源
https://developer.aliyun.com/mirror/?spm=a2c6h.25603864.0.0.3d974ccaV0zX40

配置yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

清空yum缓存
[root@client-242 yum.repos.d]# yum clean all
rm -rf /var/cache/yum
生成新的缓存
yum makecache

关闭selinux,关闭firewalld,这是俩大坑  404  403 目录数据无法读写
看到disbaled表示selinux是永久禁止的
[root@AlienCat ~]# getenforce 
Disabled
修改selinux的配置文件,永久禁止它开机自启,这是selinux配置信息
[root@AlienCat ~]# cat /etc/selinux/config 

disabled - No SELinux policy is loaded.  看到这一行表示永久关闭

[root@lamp-241 ~]# iptables -F
[root@lamp-241 ~]# systemctl stop firewalld
[root@lamp-241 ~]# systemctl disable firewalld
[root@lamp-241 ~]# setenforce 0

安装如下基础软件,就可以解决你后面编译脚本的,绝大多数错误问题了

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel net-tools vim -y

yum install cmake make pcre-devel ncurses-devel openssl-devel libcurl-devel -y

yum install libxml2-devel  libjpeg-devel libpng-devel freetype-devel  libcurl-devel wget -y

linux很多软件的运行,依赖于操作系统本身的一些软件支持
yum groupinstall "Development tools" -y

桌面开发工具包(图形化相关包)
yum groupinstall "Desktop Platform Development" -y 

软件的准备

LAMP
Apache——>httpd
MySQL——>5.6.31
PHP——>7.2.17

apr-1.5.2.tar.bz2
apr-util-1.5.4.tar.bz2
httpd-2.4.37.tar.bz2
mysql-5.6.43
php-7.2.17.tar.xz
wordpress-4.7.3-zh_CN.tar.gz

说明:
apache必须要先于php安装
apache和mysql之间并没有直接先后顺序的依赖,所以谁先谁后没所谓。
在php-5.3版本前,mysql必须先于php的编译;因为php需要实现连接数据库的功能,它通过mysql的接口才能编译出该功能;
在php-5.3版本或者之后,php已经集成了一套连接mysql数据的代码,并不依赖mysql的接口,这个时候,mysql和php的编译顺序也就无所谓了。

编译安装mysql

1、安装需求

2、安装步骤
㈠ 创建mysql用户

[root@lamp-241 ~]# useradd -r -s /sbin/nologin mysql

㈡ 解压软件并进入解压目录

[root@lamp-241 ~]# cd /usr/local/
[root@lamp-241 local]# ls
bin  etc  games  include  lib  lib64  libexec  sbin  share  src

[root@lamp-241 local]# mkdir source-code
[root@lamp-241 local]# cd source-code/

下载源码
[root@lamp-241 source-code]# wget -c https://repo.huaweicloud.com/mysql/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz

解压缩
[root@lamp-241 source-code]# tar -zxf mysql-5.6.50.tar.gz

查看解压文件夹大小
[root@lamp-241 source-code]# du -sh *
282M    mysql-5.6.50
31M    mysql-5.6.50.tar.gz

㈢ 根据需求配置编译参数
修改编译参数,如安装到指定位置

[root@lamp-241 source-code]# cd mysql-5.6.50
[root@lamp-241 mysql-5.6.50]# ls
BUILD           cmd-line-utils   Docs                 INSTALL      LICENSE     mysys_ssl  regex             sql-bench   support-files  vio
client          config.h.cmake   Doxyfile-perfschema  libmysql     man         packaging  scripts           sql-common  tests          win
cmake           configure.cmake  extra                libmysqld    mysql-test  plugin     source_downloads  storage     unittest       zlib
CMakeLists.txt  dbug             include              libservices  mysys       README     sql               strings     VERSION

# 创建编译脚本,设置编译参数
[root@lamp-241 mysql-5.6.50]# cat cmake.sh
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_USER=mysql

添加执行权限
[root@lamp-241 mysql-5.6.50]# chmod +x cmake.sh
[root@lamp-241 mysql-5.6.50]# ll cmake.sh
-rwxr-xr-x. 1 root root 295 Feb 26 17:12 cmake.sh

执行该脚本
./cmake.sh


关于编译传输的解释

首先执行cmake这个命令,用于设置安装mysql的一些参数
后面就是cmake命令的各种参数,比如调整端口,安装目录,安装用户等

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \            安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \                数据目录
-DENABLED_LOCAL_INFILE=1 \                                    开启加载外部文件功能;1开启,0关闭
-DWITH_INNOBASE_STORAGE_ENGINE=1 \                        将InnoDB存储引擎静态编译到服务器
-DMYSQL_TCP_PORT=3306 \                                        端口
-DDEFAULT_CHARSET=utf8mb4 \                                字符集
-DDEFAULT_COLLATION=utf8_general_ci \                    字符校验规则
-DWITH_EXTRA_CHARSETS=all \                                扩展字符集
-DMYSQL_USER=mysql                                            用户身份mysql

㈣ 编译并安装

目前mysql还是没有的,只有安装结束后,会自动生成
[root@lamp-241 mysql-5.6.50]# ls /usr/local/mysql
ls: cannot access /usr/local/mysql: No such file or directory

开始编译,以及安装到指定的位置
安装过程会较久,等待即可,别出问题就行。
[root@lamp-241 mysql-5.6.50]# make && make install

㈤ 安装mysql后续配置
修改mysql安装目录的权限,属主,属组

chown -R mysql.mysql /usr/local/mysql/

[root@lamp-241 mysql-5.6.50]# chown -R mysql.mysql /usr/local/mysql/
[root@lamp-241 mysql-5.6.50]# ll /usr/local/mysql/
total 224
drwxr-xr-x.  2 mysql mysql   4096 Feb 26 17:48 bin
drwxr-xr-x.  3 mysql mysql     18 Feb 26 17:48 data
drwxr-xr-x.  2 mysql mysql     55 Feb 26 17:48 docs

初始化数据库,生成可用的数据库文件

1.移除默认的mysql配置文件,改名即可
[root@lamp-241 mysql-5.6.50]# mv /etc/my.cnf /etc/my.cnf.ori

[root@lamp-241 mysql-5.6.50]# ls /etc/my.cnf
ls: cannot access /etc/my.cnf: No such file or directory

2.确保没有mysql进程
[root@lamp-241 mysql-5.6.50]# ps -ef|grep mysql
root      38296   9072  0 17:52 pts/1    00:00:00 grep --color=auto mysql

3.进入mysql安装目录,开始初始化
[root@lamp-241 mysql-5.6.50]# cd /usr/local/mysql/
[root@lamp-241 mysql]# ./scripts/mysql_install_db --user=mysql

看到两个ok后表示安装正确

4.验证数据库目录里是否有文件
[root@lamp-241 mysql]# [root@lamp-241 mysql]# ll /usr/local/mysql/data
total 110600
-rw-rw----. 1 mysql mysql 12582912 Feb 26 17:53 ibdata1
-rw-rw----. 1 mysql mysql 50331648 Feb 26 17:53 ib_logfile0
-rw-rw----. 1 mysql mysql 50331648 Feb 26 17:53 ib_logfile1
drwx------. 2 mysql mysql     4096 Feb 26 17:53 mysql
drwx------. 2 mysql mysql     4096 Feb 26 17:53 performance_schema
drwxr-xr-x. 2 mysql mysql       20 Feb 26 17:48 test

制作启动mysql脚本,系统提供好了模板

拷贝脚本,放入linux一个固定的服务启动目录
[root@lamp-241 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动、检查mysql服务
[root@lamp-241 mysql]# service mysql status
 ERROR! MySQL is not running
[root@lamp-241 mysql]# service mysql start
Starting MySQL.Logging to '/usr/local/mysql/data/lamp-241.err'.
 SUCCESS!
[root@lamp-241 mysql]# service mysql status
 SUCCESS! MySQL running (38476)

设置mysql默认密码

[root@lamp-241 mysql]# /usr/local/mysql/bin/mysqladmin -uroot password 'lisa666'
Warning: Using a password on the command line interface can be insecure.

测试mysql登录

确保服务运行了
[root@lamp-241 mysql]# ps -ef|grep mysql
root      38380      1  0 17:58 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/lamp-241.pid
mysql     38476  38380  0 17:58 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=lamp-241.err --pid-file=/usr/local/mysql/data/lamp-241.pid
root      38514   9072  0 18:00 pts/1    00:00:00 grep --color=auto mysql

端口
[root@lamp-241 mysql]# netstat -tnlp|grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      38476/mysqld

使用mysql登录命令
[root@lamp-241 mysql]# mysql -uroot -plisa666
-bash: mysql: command not found

需要配置环境变量
[root@lamp-241 mysql]# tail -1 /etc/profile
export PATH=/usr/local/mysql/bin/:$PATH

检查PATH变量
[root@lamp-241 mysql]# source /etc/profile
[root@lamp-241 mysql]#
[root@lamp-241 mysql]# echo $PATH
/usr/local/mysql/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

执行命令登录
[root@lamp-241 mysql]# mysql -uroot -plisa666
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.50 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

三、编译安装Apache

  1. 安装依赖包apr
下载地址
http://archive.apache.org/dist/apr/
文件地址
[root@lamp-241 source-code]# wget -c http://archive.apache.org/dist/apr/apr-1.5.2.tar.bz2
解压缩,编译安装即可
[root@lamp-241 source-code]# tar -xf apr-1.5.2.tar.bz2
[root@lamp-241 source-code]# ls
apr-1.5.2  apr-1.5.2.tar.bz2  mysql-5.6.50  mysql-5.6.50.tar.gz

[root@lamp-241 source-code]# cd apr-1.5.2

如果不指定配置参数,则会安装到默认路径
并且这里需要修改一个配置
修改此行
[root@lamp-241 apr-1.5.2]# vim configure
29605     RM='$RM -f'

再次执行配置脚本
[root@lamp-241 apr-1.5.2]# ./configure
开始编译安装
[root@lamp-241 apr-1.5.2]# make && make install

安装apr-util软件

[root@lamp-241 source-code]# wget -c https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.bz2

解压缩
[root@lamp-241 source-code]# tar -xf apr-util-1.5.4.tar.bz2
[root@lamp-241 source-code]# ls
apr-1.5.2  apr-1.5.2.tar.bz2  apr-util-1.5.4  apr-util-1.5.4.tar.bz2  mysql-5.6.50  mysql-5.6.50.tar.gz

开始编译安装apr-utils ,且需要指定安装的apr命令路径
[root@lamp-241 source-code]# cd apr-util-1.5.4
[root@lamp-241 apr-util-1.5.4]#
[root@lamp-241 apr-util-1.5.4]# ./configure --with-apr=/usr/local/apr/bin/apr-1-config

编译且安装
[root@lamp-241 apr-util-1.5.4]# make && make install

[root@lamp-241 apr-util-1.5.4]# ls /usr/local/apr/lib
apr.exp      libapr-1.la    libapr-1.so.0.5.2  libaprutil-1.so        libexpat.a   libexpat.so.0
aprutil.exp  libapr-1.so    libaprutil-1.a     libaprutil-1.so.0      libexpat.la  libexpat.so.0.5.0
libapr-1.a   libapr-1.so.0  libaprutil-1.la    libaprutil-1.so.0.5.4  libexpat.so  pkgconfig
这些.so就好比windows下的.dll

ldconfig命令

此时apr和apr-util这俩工具,就生成了一些基础的linux文件,你需要告诉linux系统,多了一些这些工具,linux才能够读取到他们的信息,然后apache才能用

方法1:在/etc/ld.so.conf这个主配置文件里加上一行,写上让别人要查找库文件的路径
[root@lamp-241 apr-util-1.5.4]# echo "/usr/local/apr/lib/" >> /etc/ld.so.conf

[root@lamp-241 apr-util-1.5.4]# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/apr/lib/


方法2:在/etc/ld.so.conf.d/目录下创建一个*.conf结尾的文件,里面加入该路径即可    

# echo /usr/local/apr/lib/ > /etc/ld.so.conf.d/lamp.conf
# ldconfig      上面加入路径后,就使用此命令让其生效
  1. 编译安装httpd

    ㈠ 解压软件并进入解压目录,第一曲
链接
https://archive.apache.org/dist/httpd/

httpd源码下载
[root@lamp-241 source-code]# ls
apr-1.5.2  apr-1.5.2.tar.bz2  apr-util-1.5.4  apr-util-1.5.4.tar.bz2  mysql-5.6.50  mysql-5.6.50.tar.gz


[root@lamp-241 source-code]# pwd
/usr/local/source-code
[root@lamp-241 source-code]#
[root@lamp-241 source-code]# wget -c https://archive.apache.org/dist/httpd/httpd-2.4.37.tar.bz2

解压缩httpd
[root@lamp-241 source-code]# tar -xf httpd-2.4.37.tar.bz2
[root@lamp-241 source-code]# cd httpd-2.4.37
[root@lamp-241 httpd-2.4.37]# ls
ABOUT_APACHE     build           config.layout  httpd.dsp       LAYOUT        Makefile.win   README.cmake      test
acinclude.m4     BuildAll.dsp    configure      httpd.mak       libhttpd.dep  modules        README.platforms  VERSIONING
Apache-apr2.dsw  BuildBin.dsp    configure.in   httpd.spec      libhttpd.dsp  NOTICE         ROADMAP
Apache.dsw       buildconf       docs           include         libhttpd.mak  NWGNUmakefile  server
apache_probes.d  CHANGES         emacs-style    INSTALL         LICENSE       os             srclib
ap.d             CMakeLists.txt  httpd.dep      InstallBin.dsp  Makefile.in   README         support
[root@lamp-241 httpd-2.4.37]#

㈡ 根据需求配置,第二曲

1.修改配置参数,可以做成脚本
[root@lamp-241 httpd-2.4.37]# vim apache-configure.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
--enable-rewrite \
--with-pcre \
--enable-ssl \
--with-mpm=prefork \
--with-apr=/usr/local/apr/bin/apr-1-config \
--with-apr-util=/usr/local/apr/bin/apu-1-config

添加执行权限,执行该脚本
[root@lamp-241 httpd-2.4.37]# chmod +x apache-configure.sh
[root@lamp-241 httpd-2.4.37]# ./apache-configure.sh

配置参数说明:
apache默认啥功能都没有,必须通过模块的进行添加!

# ./configure 
--enable-modules=all                  加载所有支持模块
--enable-mods-shared=all               共享方式加载大部分常用的模块
--enable-so                           启动动态模块加载功能
--enable-rewrite                      启用url地址重写功能
--enable-ssl                             编译ssl模块,支持https
--with-pcre                             支持正则表达式
--with-apr=/usr/local/apr/bin/apr-1-config     指定依赖软件apr路径
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-mpm=prefork    插入式并行处理模块,称为多路处理模块,Prefork 是类UNIX平台上默认的MPM

(1)prefork
    多进程模型,每个进程响应一个请求
(2)worker
    多进程多线程模型,每个线程处理一个用户请求 
(3)event(最优)
    事件驱动模型,多进程模型,每个进程响应多个请求

㈢ 编译并安装,第三曲

[root@lamp-241 httpd-2.4.37]# pwd
/usr/local/source-code/httpd-2.4.37
[root@lamp-241 httpd-2.4.37]# make && make install

查看是否安装了httpd
[root@lamp-241 httpd-2.4.37]# ls /usr/local/apache2/
bin  build  cgi-bin  conf  error  htdocs  icons  include  logs  man  manual  modules

看到这个目录文件,你就是装好apache了。

四、编译安装php

1、解压软件并进入解压目录

[root@lamp-241 source-code]# wget -c https://museum.php.net/php7/php-7.2.17.tar.xz

[root@lamp-241 source-code]# ls
apr-1.5.2  apr-1.5.2.tar.bz2  apr-util-1.5.4  apr-util-1.5.4.tar.bz2  httpd-2.4.37  httpd-2.4.37.tar.bz2  mysql-5.6.50  mysql-5.6.50.tar.gz  php-7.2.17.tar.xz

解压缩
[root@lamp-241 source-code]# tar -xf php-7.2.17.tar.xz 
[root@lamp-241 source-code]# cd php-7.2.17

[root@lamp-241 php-7.2.17]# vim configure_php.sh
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath \
--with-openssl \

配置参数解释
在这里,你就要注意到,软件的编译安装,是一环节一环的,php编译参数开通一些功能,是需要你提前装好apache的,

--with-apxs2=/usr/local/apache2/bin/apxs
指定apxs路径,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具
--with-mysql        php7中已被废弃
--with-mysqli    
--with-pdo-mysql
以上三个是php的扩展,用于连接mysql数据库的
--with-iconv-dir
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-gd
--with-zlib
--with-libxml-dir
这些都是在启用对某种文件的支持
--with-curl 和 --with-curlwrappers
用于支持 curl 函数,此函数允许你用不同的协议连接和沟通不同的服务器
--with-openssl,--with-mhash,--with-mcrypt
这都是和加密有关的参数,启用它们是为了让php可以更好的支持各种加密。
--enable-bcmath                            高精度数学运算组件。
--enable-shmop和 --enable-sysvsem        
使得你的PHP系统可以处理相关的IPC函数.IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法。
--enable-inline-optimization        栈堆指针和优化线程。
--enable-pcntl                            多线程优化。

with-apxs2        调用apache加载模块支持PHP
gd                  画图库
libiconv         字符变换转换
libmcrypt         字符加密
mcrypt              字符加密
mhash               哈希运算

2、configure配置php编译

执行该脚本
[root@lamp-241 php-7.2.17]# chmod +x configure_php.sh

[root@lamp-241 php-7.2.17]# ./configure_php.sh

3、编译且安装

[root@lamp-241 php-7.2.17]# make && make install

五、结合php和apache配置

1、修改apache配置文件支持php

1.修改apache配置文件,找到你的安装路径
配置语言支持
159 LoadModule negotiation_module modules/mod_negotiation.so 去掉这一行的注释
482 Include conf/extra/httpd-languages.conf 打开此选项,扩展配置文件就生效了

让apache支持php语言的插件,当有用户访问php程序时,apache自动转发给php程序去解析。
166 LoadModule php7_module        modules/libphp7.so   找到这一行,然后在下面添加语句

添加以下两行意思是以.php结尾的文件都认为是php程序文件,注意两句话的.php前面都是有一个空格的
也就是长这样
166 LoadModule php7_module        modules/libphp7.so
167 AddHandler php7-script .php
168 AddType text/html .php


添加一个默认的网站首页,添加为php的文件
263 #
264 # DirectoryIndex: sets the file that Apache will serve if a directory
265 # is requested.
266 #
267 <IfModule dir_module>
268     DirectoryIndex index.php index.html
269 </IfModule>
270

关于网站默认的首页html文件,存放的目录路径,由以下参数控制
230 # DocumentRoot: The directory out of which you will serve your
231 # documents. By default, all requests are taken from this directory, but
232 # symbolic links and aliases may be used to point to other locations.
233 #
234 DocumentRoot "/usr/local/apache2/htdocs"
235 <Directory "/usr/local/apache2/htdocs">


2.修改apache的子配置文件,优先支持中文,需要做如下两步操作
[root@lamp-241 php-7.2.17]# vim /usr/local/apache2/conf/extra/httpd-languages.conf
 19 DefaultLanguage zh-CN

 75 # Just list the languages in decreasing order of preference. We have
 76 # more or less alphabetized them here. You probably want to change this.
 77 #
 78 LanguagePriority zh-CN en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW


 3.修改apache的域名,也就是我们网站的域名配置
 210 ServerName yuchao-lamp.cc

2、测试apache是否支持php

进入apache网页根目录,创建一个php文件,查看是否执行
[root@lamp-241 htdocs]# pwd
/usr/local/apache2/htdocs

[root@lamp-241 htdocs]# cat index.php
<?php
    phpinfo();
?>

3、启动apache
拷贝apache默认提供的一个脚本即可,就是启动apache的命令

[root@lamp-241 htdocs]# cp /usr/local/apache2/bin/apachectl /etc/init.d/apache
[root@lamp-241 htdocs]# netstat -tnlp|grep 80

[root@lamp-241 htdocs]# service apache start

[root@lamp-241 htdocs]# netstat -tnlp|grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      100853/httpd

4、测试LAMP架构
访问你的apache服务器即可,默认是80端口,如果能看到php的页面,表示正常。

看到这就表示,你已经部署好了一个linux+apache+mysql+php的服务器,可以提供给开发人员,测试运行代码了。

六、部署web应用

准备源码,放入apache的网页目录即可,开发给了你一个php的源码,你给放入到一个部署好的lamp机器上就好了

1.下载博客源码
wget -c https://cn.wordpress.org/wordpress-4.7.3-zh_CN.tar.gz

2.解压缩该源码,放入到httpd的网页根目录中去
[root@lamp-241 source-code]# tar -zxf wordpress-4.7.3-zh_CN.tar.gz
[root@lamp-241 source-code]# ls
wordpress  wordpress-4.7.3-zh_CN.tar.gz
[root@lamp-241 source-code/wordpress]# mv wordpress/* /usr/local/apache2/htdocs/

3.由于是静态文件做了更改,你不需要重启httpd,直接访问该网站即可
但是,注意,先看一下apache的启动进程,用户是谁
ps -ef | grep httpd
修改wordpress源码文件的属主、属组,防止权限有问题

[root@lamp-241 source-code/wordpress]# chown -R daemon.daemon /usr/local/apache2/htdocs/

4.此时可以去访问网站了,如果出现如下情况

修改apache配置,添加可访问权限
修改这里Require all denied        默认拒绝所有,改为Require all granted

212 #
213 # Deny access to the entirety of your server's filesystem. You must
214 # explicitly permit access to web content directories in other
215 # <Directory> blocks below.
216 #
217 <Directory />
218     AllowOverride none
219     Require all granted
220 </Directory>

访问wordpress,查看博客安装

1.发现该博客需要写入数据库,wordpress,需要你先创建这个数据库
登录数据库,操作
[lamp-server root /opt/wordpress]$mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.6.50 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)

mysql> 


创建wordpress数据库
mysql> create database wordpress default charset utf8;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)

mysql> 

标签:web,架构,--,lamp,apr,LAMP,241,mysql,root
From: https://www.cnblogs.com/btcm409181423/p/17995347

相关文章

  • WebSocket和RESTful API区别
    1.WebSocket和RESTfulAPI区别WebSocket和RESTfulAPI是用于在客户端和服务器之间进行通信的不同协议。RESTfulAPI(RepresentationalStateTransfer)是一种使用HTTP协议进行通信的架构风格。它基于客户端-服务器模型,通过使用不同的HTTP动词(GET、POST、PUT、DELETE等)对资源进行......
  • Eventgrid+Function实现event driven架构 - 架构介绍及环境部署
    今天来介绍这几年在云上比较流行的eventdriven,也就是事件驱动的架构,用一个很简单的sample来实际看下事件驱动的架构到底是个啥事件驱动的架构由生成事件流的事件生成者和侦听事件的事件使用者组成,它的特点是事件可几乎实时发送,因此使用者可在事件发生时需要立即做出响应。生成者......
  • 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构
    英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构技术和性能对比带你解决疑惑近期,AIGC领域呈现出一片繁荣景象,其背后离不开强大算力的支持。以ChatGPT为例,其高效的运行依赖于一台由微软投资建造的超级计算机。这台超级计算机配备了数万个NVIDIA......
  • CTF常用工具 | MISC & CRYPTO & WEB
    记录一些做题过程用到的工具,不定时更新MISC010Editor:查看及处理十六进制文件StegSolve:查看及处理隐写图片Stegsolve(隐写分析工具)-宇2468-博客园WaterMarkH:添加及提取图片盲水印,提取不需要原图BlindWaterMark-master:添加及提取图片盲水印,提取时需要原图【Python2Python3......
  • 项目整体架构设计,技术选型:架构师要通盘考虑项目技术
    技术选型:架构师要通盘考虑项目技术1 用户层 H5、Vue.js、ElementUI、apacheecharts(展示图表)等技术。而在构建移动端应用时,我们会使用到微信小程序。2 网关层 Http服务器,部署静态资源,访问性能高。在Nginx中还有两个比较重要的作用:反向代理和负载均衡3 应用层 SpringBoot:快......
  • 英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构
    英伟达系列显卡大解析B100、H200、L40S、A100、A800、H100、H800、V100如何选择,含架构技术和性能对比带你解决疑惑近期,AIGC领域呈现出一片繁荣景象,其背后离不开强大算力的支持。以ChatGPT为例,其高效的运行依赖于一台由微软投资建造的超级计算机。这台超级计算机配备了数万个NVIDI......
  • web自动化测试复习巩固第二天
    定位方法selenium4:driver.find_element(定位策略用By类,定位表达式)---返回表达式匹配的第一个元素,如果找不到元素,会报错。driver.find_elements(定位策略用By类,定位表达式)---返回表达式匹配的所有元素,返回的是列表类型。By类:管理8种定位方式,每一种定位方......
  • 10种常见的软件架构模式
    你是否想知道企业大规模系统是如何设计的?在软件开发开始之前,我们必须选择一个合适的架构,能提供所需的功能和质量特性。因此,在将架构应用到我们的设计之前,我们应该了解各种不同架构的特点。什么是架构模式?根据维基百科:架构模式是在软件架构上针对特定上下文件解决常见问题的通......
  • 产品解读 | 新一代湖仓集存储,多模型统一架构,高效挖掘数据价值
    星环科技TDH一直致力于给用户带来高性能、高可靠的一站式大数据基础平台,满足对海量数据的存储和复杂业务的处理需求。同时在易用性方面持续深耕,降低用户开发和运维成本,让数据处理平民化,助力用户以更便捷、高效的方式去挖掘数据价值。基于这样的宗旨,星环科技TDH正式发布了9.3......
  • org.springframework.web该引入哪个包?
    只引入springboot并没有引入springmvc?难道两者不是包含关系吗?还要再手动引入?不懂。。<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.8</versi......