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网页显示信息
<?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