lamp 架构的搭建

php 解释动态页面 php来连接数据库

mysql 页面信息和端口信息 存放数据

apache 前端web服务器,展现页面

源码编译安装这三个服务

配置下载apache:

systemctl stop firewalld 关闭安全机制,防火墙 可以一条命令:systemctl is-enabled firewalld 和 systemctl disable --now firewalld.service

systemctl disable firewalld

setenforce 0 /etc/selinux/config改文件为/etc/sysconfig/selinux的软连接 永久修改安全机制 SELINUX=disabled

cd /opt/

使用xshell将需要的文件或压缩包拉进虚拟机

yum -y install gcc c编译器 gcc-c++ c++编译器 make 源代码编译器,转二进制文件(编译器可执行) pcre 正则表达式 pcre-devel perl接口开发包 expat-devel 支持解析HTML,XML perl perl编译器

tar xf apr-1.6.2.tar.gz 两个apr包提供跨平台功能,提高并发,降低减少访问阻塞

tar xf apr-util-1.6.0.tar.gz -zxvf -jxvf 可简写为xf 这样就不会有太多的消息提示 for i in ls * `用来遍历

do

tar xf i

done

tar xf httpd-2.4.29.tar.bz2

mv -f apr-1.6.2 /opt/httpd-2.4.29/srclib/apr

mv -f apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

cd /opt/httpd-2.4.29/

./configure指定安装路径 --enable解锁模块支持

./configure --prefix=/usr/local/httpd --enable-so启动动态加载模块支持 --enable-rewrite 网页地址重写功能,防盗链,网页优化,跳转域名(域名重写) --enable-charset-lite 启动字符集支持,默认英文开启才可以支持中文--enable-cgi脚本程序支持,

lscpu或者cat /proc/cpuinfo 查看cpu核数 top 显示cpu使用情况也可以看cpu核数

编译为可以执行的二进制程序

make -j 4 && make install

 

bin下为网站可执行程序,包含apache中的常用工具有httpd apachetcl ab压测工具(高并发压测)

使程序可以直接使用这些命令,可以直接配置环境变量(不用再指定绝对路径)PATH环境变量可以指定系统可以识别环境的路径。可以直接放在PATH下,也可以创建软连接方式。

conf 包含配置文件

htdocs 防止网页文档

logs 程序日志存放目录

modules 程序模块的存放目录

/usr/local/httpd/conf/httpd.conf设置软连接便于使用调用/etc/httpd.conf就可以调用该配置文件了

ln -s /usr/local/httpd/conf/httpd.conf /etc/

/usr/local/bin/ 系统用户安装的第三方配 置文件的位置

/usr/local/httpd/bin/ 存放的可执行文件的位置

ln -s /usr/local/httpd/bin/* /usr/local/bin/

将可执行文件复制到环境变量下,可以使用软连接

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

chmod +x /etc/init.d/httpd

手动创建一个管理httpd的脚本,httpd.service

kill-HUP 重载

只要httpd.service被修改后需要重新加载,systemctl daemon-reload

vi /etc/init.d/httpd

#!/bin/bash 申明脚本

运行级别 0关机 1 单用户 2 3 4 字符界面的多用户模式 5 图形化界面的多用户模式 6 重启

35 表示字符界面和图形界面的多用户模式 这两个模式下开机自启

85第85个启动 21 第21个关闭

# chkconfig: 35 85 21 centos7后都是systemctl并行启动。所以可以随便填

# description: Apache is a World Wide Web server

chkconfig --add httpd 将httpd服务加到系统管理中

chkconfig --list httpd 查看

systemctl start httpd.service 启动

vim /etc/httpd.conf

Esc 52G

Listen 192.168.92.30:80 相关的请求会发送到该地址和端口上

Esc 197G

ServerName www.kgc.com:80

Esc 221G

DocumentRoot "/usr/local/httpd/htdocs" 指定网页文件存放位置

Esc 255G

DirectoryIndex index.html 指定默认的网页首页文件名

httpd -t 检测apache配置文件是否有语法错误

cat /usr/local/httpd/htdocs/index.html

systemctl restart httpd.service

netstat -lnpt | grep 80 或者 ss -lntp | grep :80 或 lsof -i :80查看80端口

echo "192.168.92.30 www.wt.com" >> /etc/hosts

http://192.168.92.30

wt.com is for sale | www.brandforce.com

安装mysql:

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake mysql编译工具

cd /opt

tar xf mysql-5.7.17.tar.gz boost c++运行库

tar xf boost_1_59_0.tar.gz

mv -f boost_1_59_0 /usr/local/boost

cd /opt/mysql-5.7.17/

末尾\后面不能有空格

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装路径

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 数据库连接文件其他程序连接数据库就是用的这个文件

-DSYSCONFDIR=/etc \ 配置文件路径

-DSYSTEMD_PID_DIR=/usr/local/mysql \进程文件存储位置

-DDEFAULT_CHARSET=utf8 \万国字符集

-DDEFAULT_COLLATION=utf8_general_ci \utf-8校验规则

-DWITH_EXTRA_CHARSETS=all \存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \数据文件存储位置

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \目录放置位置

-DWITH_BOOST=/usr/local/boost \指定boost路径真实的boost目录

-DWITH_SYSTEMD=1 \生成管理文件

/opt/mysql-5.7.17

make -j 4 && make install

useradd -M -s /sbin/nologin mysql 创建mysql用户 即创建程序用户 挂个名

vim /etc/my.cnf

[client]

port = 3307 端口号

socket=/usr/local/mysql/mysql.sock

auto-rehash

[mysql]

port = 3307

socket = /usr/local/mysql/mysql.sock

auto-rehash

[mysqld]

user = mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3307

character-set-server=utf8

pid-file = /usr/local/mysql/mysqld.pid

socket=/usr/local/mysql/mysql.sock

bind-address = 0.0.0.0 允许所有监听

skip-name-resolve

max_connections=4096

default-storage-engine=INNODB 存储路径

max_allowed_packet=32M 一条命令中可能包含多个mysql语句

server-id = 1 mysql 服务器号

sql模式的设置:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

使得每次都可以生效 配置永久环境变量

每次启动都会启动/etc/profile的配置

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

source /etc/profile

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \ 初始密码空

--user=mysql \用户

--basedir=/usr/local/mysql \安装目录

--datadir=/usr/local/mysql/data 数据放置目录

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld.service

systemctl enable mysqld

netstat -anpt | grep 3307

mysqladmin -u root password "abc123" 用户密码

mysql -uroot -pabc123 -P3307登录

grant all privileges on . to 'root'@'%' identified by 'abc123';授权所有权限所有库所有表登录的root用户可以在任何登录密码都是abc123

show databases;

quit

PHP安装:

cd /opt

yum -y install \

gd \处理生成图片

libjpeg libjpeg-devel \

libpng libpng-devel \

freetype freetype-devel \

libxml2 libxml2-devel \

zlib zlib-devel \

curl curl-devel \网页访问

openssl openssl-devel

tar xf php-7.1.10.tar.bz2

cd /opt/php-7.1.10/

./configure \

--prefix=/usr/local/php7 \

--with-apxs2=/usr/local/httpd/bin/apxs \ apax

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-config-file-path=/usr/local/php7 \php配置文件php.ini位置

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--with-jpeg-dir \格式类型

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \标记语言模块

--enable-session \会话

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

make -j 4 && make install

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini

vim /usr/local/php7/php.ini

1170G

mysqli.default_socket = /usr/local/mysql/mysql.sock

939G

取消注释

date.timezone = Asia/Shanghai

ln -s /usr/local/php7/bin/* /usr/local/bin/

php -m 查看php加载的模块

vim /etc/httpd.conf

393G

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

255G

DirectoryIndex index.html index.php 默认首页

/LoadModule php7_module modules/libphp7.so 有这两个模块说明aphcach和mysql 是否配置成功

rm -rf /usr/local/httpd/htdocs/index.html

vim /usr/local/httpd/htdocs/index.php 在php网页显示信息

phpinfo();

?>

systemctl restart httpd.service

http://192.168.92.30

架构使用例子:

安装论坛:

动态页面网站需要创建数据库与数据库交互

mysql -uroot -pabc123 -P3307

CREATE DATABASE bbs; 创建bbs数据库

GRANT all ON bbs数据库名.* TO 'bbsuser用户名'@'%任意地址' IDENTIFIED BY 'admin123密码'; 授权设定用户名和密码

flush privileges;刷新

show databases;

quit

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis

cd /opt/dis/dir_SC_UTF8/

cp -r upload/ /usr/local/httpd/htdocs/bbs

ps aux | grep httpd

cd /usr/local/httpd/htdocs/bbs

chown -R daemon ./config给文件目录设置所属

chown -R daemon ./data

chown -R daemon ./uc_client

chown -R daemon ./uc_server/data

http://192.168.92.30/bbs

http://192.168.92.30/bbs/admin.php

数据库服务器:localhost

数据库名字:bbs

数据库用户名:bbsuser

数据库密码:admin123

管理员账号:admin

管理员密码:admin123

你可能感兴趣的:(perl,linux,php)