怎么用polylang做网站,网站优化试题,深圳小程序app开发,学习网站免费Apache
起源
源于A Patchy Server#xff0c;著名的开源Web服务软件1995年时#xff0c;发布Apache服务程序的1.0版本由Apache软件基金会#xff08;ASF)负责维护最新的名称为“Apache HTTP Server”官方站点#xff1a;http://httpd.apache.org/
主要特点
开发源代码/…Apache
起源
源于A Patchy Server著名的开源Web服务软件1995年时发布Apache服务程序的1.0版本由Apache软件基金会ASF)负责维护最新的名称为“Apache HTTP Server”官方站点http://httpd.apache.org/
主要特点
开发源代码/跨平台应用支持多种网页编程语言模块化涉及、运行稳定、良好的安全性
软件版本
1.X 目前最高版本是1.3向下兼容较好但缺乏一些较新功能2.X 目前最高版本是2.4具有更多的功能特性与1.X相比配置管理风格存在较大差异
编译安装httpd服务器
优点
具有较大自由度功能可以定制可以及时获得最新的软件版本普遍吧适用于大多数Linux版本便于移植使用
获得Apache服务器的源码包
参考地址http://httpd.apache.orrg/download.cgi
安装httpd服务器步骤
准备工作
rpm -qa httpd #检查是否已安装httpd
yum -y install apr-util-devel pcre-devel gcc* #使用yum安装运行环境#gcc 基于gnu的c语言编译器源码编译和安装
解包
下载并解压httpd源码包
配置
进入解压后的http包中使用
./configure --prefix/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
//指定安装路径、启用字符集支持等
prefix指定安装路径
命令中的so指的是DSO功能是动态共享目标
rewrite重写 charset字符集 cgi通用网关接口
编译及安装
make make install
确认安装结果
使用ls命令查看安装目录下的文件
[rootlocalhost ~]# ls /usr/local/httpd/
bin cgi-bin error icons logs manual
build conf htdocs include man modules优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/
这样在执行相关命令时就可以之间使用“httpd -v”而不再需要输入冗长的路径
添加httpd系统服务
进入该路径vim /usr/local/httpd/conf/httpd.conf设置ServerName为了解决运行时的提示
在/lib/systemd/system下创建一个httpd.service并在其中添加以下代码
[Unit]Descriptionmy httpdAfternetwork.target[Service]TypeforkingPIDFile/usr/local/httpd/logs/httpd.pidExecStart/usr/local/httpd/bin/apachectl $OPTIONSExecReload/bin/kill -HUP $MAINPID[Install]WantedBymulti-user.target
添加完成后使用systemctl daemon-reload使systemd读取可运行命令
httpd服务器的基本配置
1.确认网站名称、IP地址
在客户机的/etc/hosts中为主机的IP添加内容
192.168.10.101 www.kgc.com
2.配置并启动httpd服务
1配置httpd服务
[rootlocalhost conf]# vim httpd.conf
ServerName www.kgc.com[rootlocalhost conf]# apachectl -t //对配置内容进行语法检查若是没有错误则会显示“Syntax OK”
2启动httpd服务
由于前面已经将httpd服务添加到系统服务所以可以使用systemd启动
[rootlocalhost conf]# systemctl start httpd3部署网页文档
在httpd安装路径下的htdocs目录http提供了一个名为index.html的测试网页作为网站的默认首页
[rootlocalhost conf]# cat /usr/local/httpd/htdocs/index.html
html
head
meta http-equivContent-Type contenttext/html; charsetutf-8 / //设定字符集编码。没有这一行若文本中有文字则会显示乱码
title无标题文档/title
/head
body
h1你好/h1
/body
/html
4在客户机中访问Web站点
在客户机的网页浏览器中可以通过域名或IP访问httpd浏览器
构建虚拟主机
单个主机运行多个站点
编辑httpd主配置文件加载独立的配置文件
[rootlocalhost ]# vim /usr/local/httpd/conf/httpd.conf
…………
Include conf/extra/httpd-vhosts.conf
基于主机名的虚拟主机
mkdir -p /var/www/htmll/accpcom
mkdir -p /var/www/htmll/benetcom
echo www.accp.com/var/www/html/accpcom/index.html
echo www.benet.com/var/www/html/benetcom/index.html
为虚拟机准备网页文档
[rootlocalhost conf]# vim /usr/local/httpd/conf/extra/httpd.vhosts.conf
VirtualHost *:80ServerAdmin webmasterdummy-host.example.comDocumentRoot /var/www/html/benetcomServerName www.benet.comErrorLog logs/www.benet.com-error_logCustomLog logs/www.benet.com-access_log common
/VirtualHostVirtualHost *:80ServerAdmin webmasterdummy-host2.example.comDocumentRoot /var/www/html/accpcom/ServerName www.accp.comErrorLog logs/www.accp.com-error_logCustomLog logs/www.accp.com-access_log common
/VirtualHostDirectory /var/www/htmlRequire all granted
/Directory配置完成后在虚拟机中使用不同的域名来访问
基于IP的虚拟主机
在基于域名的虚拟主机的基础上进行修改
[rootlocalhost conf]# vim /usr/local/httpd/conf/extra/httpd.vhosts.conf
VirtualHost 192.168.10.210:80 //将*改为固定的IPServerAdmin webmasterdummy-host.example.comDocumentRoot /var/www/html/benetcomServerName www.benet.comErrorLog logs/www.benet.com-error_logCustomLog logs/www.benet.com-access_log common
/VirtualHostVirtualHost 192.168.10.101:80 //将*改为固定的IPServerAdmin webmasterdummy-host2.example.comDocumentRoot /var/www/html/accpcom/ServerName www.accp.comErrorLog logs/www.accp.com-error_logCustomLog logs/www.accp.com-access_log common
/VirtualHostDirectory /var/www/htmlRequire all granted
/Directory为服务器添加一个虚拟网卡
[rootlocalhost extra]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33:0
[rootlocalhost extra]# cat /etc/sysconfig/network-scripts/ifcfg-ens33:0
TYPEEthernet
PROXY_METHODnone
BROWSER_ONLYno
BOOTPROTOstatic
IPADDR192.168.10.210
NETMASK255.255.255.0
GATEWAY192.168.10.254
DNS1114.114.114.114
DN28.8.8.8
DEFROUTEyes
IPV4_FAILURE_FATALno
IPV6INITyes
IPV6_AUTOCONFyes
IPV6_DEFROUTEyes
IPV6_FAILURE_FATALno
IPV6_ADDR_GEN_MODEstable-privacy
NAMEens33:0
#UUID126dd06e-b440-4252-8cbd-41912905145e
DEVICEens33:0
ONBOOTyes 基于端口的虚拟主机
继续基于IP的虚拟主机的配置进行修改 监听80和8080端口
[rootlocalhost conf]# vim /usr/local/httpd/conf/extra/httpd.vhosts.conf
VirtualHost 192.168.10.101:80 //将*改为固定的IPServerAdmin webmasterdummy-host.example.comDocumentRoot /var/www/html/benetcomServerName www.benet.comErrorLog logs/www.benet.com-error_logCustomLog logs/www.benet.com-access_log common
/VirtualHostVirtualHost 192.168.10.101:8080 //将*改为固定的IPServerAdmin webmasterdummy-host2.example.comDocumentRoot /var/www/html/accpcom/ServerName www.accp.comErrorLog logs/www.accp.com-error_logCustomLog logs/www.accp.com-access_log common
/VirtualHostDirectory /var/www/htmlRequire all granted
/DirectoryListen 80
listen 8080
然后在主机中分别访问192.168.10.10180 和 192.168.10.1018080 MySql的编译安装
准备工作
下载并解压源码包
使用yum下载ncurses-devel autoconf 和cmake yum -y install ncurses-devel autoconf cmake
添加一个不可登录没有家目录的用户
useradd -M -s /sbin/nologin mysql
源码包的编译和安装
使用cmake进行编译
cmake -DCMAKE_INSTALL_PREFIX/usr/local/mysql -DSYSCONFDIR/etc -DDEFAULT_CHARSETutf8 -DDEFAULT_COLLATIONutf8_general_ci -DWITH_EXTRA_CHARSETSall
DCMAKE_INSTALL_PREFIX 指定安装路径 DSYSCONFDIR 指定配置文件路径 DDEFAULT_CHARSET 默认字符集 DDEFAULT_COLLATION 默认字符集校对规则 DWITH_EXTRA_CHARSETS 其他字符集
make make install编译并安装
安装后的其他调整
对数据库安装目录设置权限
chown -R mysql:mysql mysql/
删除系统生成的mariadb配置文件
rm -rf /etc/my.cnf 复制MySQL源码包下的support-files目录下的my-default.cnf文件到/etc下
cp my-default.cnf /etc/my.cnf
初始化
运行/usr/local/mysql/scripts/下的mysql_install_db以初始化
./mysql_install_db --usermysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data/
设置环境变量
编辑/etc/profile在最后添加export PATH$PATH:/usr/local/mysql/bin
启动并访问mysql服务
复制mysql源码包/support-files/mysql.server 到/etc/init.d/下的mysqld 然后为其添加执行权限使用chkconfig --add mysqld把服务添加为系统服务 mysql -uroot进入mysql此时mysql没有密码 set passwordpassword(pwd123) exit 再次进入就需要输入密码 mysql -uroot -ppwd123 [已存在的数据库] 构建PHP运行环境
准备工作
使用ali的yum仓库下载软件包 依赖包 yum -y install zlib-devel libxml2 libxml2-devel 扩展工具库 yum -y install libmcrypt libmcrypt-devel mcrypt mhash
编译并安装PHP
下载并解压php源码包
cd进入源码包 使用./configure --prefix/usr/local/php5 --with-mcrypt --with-apxs2/usr/local/httpd/bin/apxs --with-mysql/usr/local/mysql --with-mysqli/usr/local/mysql/bin/mysql_config --with-config-file-path/usr/local/php5 --enable-mbstring
prefix:安装路径 --with-mcrypt加载数据加密等扩展工具支持 --with-apxs2设置apache HTTP Server提供的apxs模块支持程序的安装位置 --with-mysql设置MySQL数据库服务程序的安装位置 --with-mysqli 扩展mysql集 --with-config-file-path设置PHP配置为保护php.ini存放为孩子 --enable-mbstring: 启用多字节字符串功能
编译及安装make make install 设置LAMP组件环境
安装好PHP软件包后php.ini不会自动创建需要去软件包中复制模板
cp php.ini-development /usr/local/php5/php.ini
使用vim编辑器修改其中的内容
default_charsetUTF-8 #取消注释
short_open_tagOn #修改值
extensionphp_mysqli.ddl #取消注释
添加ZendGuardLoader优化模块 解压并进入zend-loader-php包 cp ZendGuardLoader.so /usr/local/php5/lib/php vim /usr/local/php/php.ini 在[PHP]下面添加 zend_extension/usr/local/php5/lib/php/ZendGuardLoader.so zend_loader.enable1
修改httpd的主配置文件 添加LoadModule php_module modules/libphp5.so AddType application/x-httpd-php 在 DirectoryIndex index.html 后面追加 index.php 重启服务更新配置
测试LAMP
测试网页是否能正常显示
在 /usr/local/httpd/htdocs/目录下添加test1.php
?php
phpinfo( ); #PHP程序的版本好、配置命令、运行变量相关信息
?
测试PHP网页是否能够访问MySql数据库 在 /usr/local/httpd/htdocs/目录下添加test2.php
?php $linkmysqli_connect(localhost,root,pwd123); if($link) echo 恭喜你,数据库连接成功啦!!; mysqli_close($link); ?
测试LAMP架构应用实例 解压并复制到网站目录 建立配置文件进入到网站目录下的包目录 最后使用主机测试即可