一 常用的几种web服务
- apache 功能完善,资源占用率大,能处理动态请求
- nginx 高并发,轻量级别
- tomcat 实质是容器(web容器、servlet容器、JS容器)资源占用少,灵活
- IIS 微软万维网服务
二 Apache简介
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计、运行稳定、良好的安全性
软件版本
1.X
目前最高版本是1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能
2.X
目前最高版本是2.4
具有更多的功能特性
与1.X相比,配置管理风格存在较大差异
三 编译安装httpd服务器
- 编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用 - 获得Apache服务器的源码包
●参考地址: http://httpd.apache.org/download.cgi
3.1 准备工作
1.卸载httpd及相关依赖环境包安装
rpm -e httpd --nodeps
yum install -y apr-util-devel pcre-devel bzip2
apr-util-devel :实现跨平台
pcre-devel :让apache支持正则表达式
3.2 源码编译及安装
2.源码解压
[root@www~]# tar zxvf apr-1.6.2.tar-gz
[root@www~]# tar zxvf apr-util-1.6.0.tar.gz
[root@www~]# tar jxvf httpd-2.4.29.tar.bz2
#放到同一目录下
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
- 安装源码编译器及多种语言的支持
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
gcc gcc-c++ :源码编译器
make :编译工具,把配置文件转化成二进制文件
pcre-devel :使apache支持正则表达式的依赖包
expat-devel :支持底层的开发语言
perl :支持perl语言
4.执行configure脚本对安装模块进行设置
cd httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
解释:
–prefix=/usr/local/httpd :指定安装路径
–enable-so :开启apache核心功能模块
–enable-rewrite :重写功能
–enable-charset-lite :支持字符集
–enable-cgi :通用网关接口,是web服务器运行外部程序的规范
5.make 配置文件构建出二进制文件
6.make install 安装
make && make install
添加系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
cd /etc/init.d/
vi httpd
编辑模式
#chkconfig: 35 85 21 //3 5级别自动运行 第85个启动 第21个关闭
#description: Apache is a World Wide Web server
查看系统服务
chkconfig --list
添加httpd为系统服务
chkconfig --add httpd
修改配置文件
vi /usr/local/httpd/conf/httpd.conf
ServerName www.yun.com:80
Listen 192.168.175.130:80
#Listen 80
验证语法
httpd -t
或apachectl -t
用软链接简化配置文件路径
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
四 Mysql 的编译安装
4.1 安装依赖环境
[root@localhost opt]# yum -y install ncurses-devel \ //函数库,提供了一系列的函数以便使用者调用它们去生成基于文本的用户界面
autoconf \ //适应多种Unix类系统的 shell脚本的工具
cmake //cmake配置
4.2 解压源码包
tar zxvf mysql-5.6.26.tar.gz
4.3 cmake配置
进入mysql目录
cd mysql-5.6.26.tar.gz
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DSYSCONFIDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定安装路径
-DDEFAULT_CHARSET=utf8 \ //指定默认字符集,简体中文
-DDEFAULT_COLLATION=utf8_general_ci \ //指定默认使用的字符集校对规则
-DEXTRA_CHARSETS=all \ //扩展字符集,不但支持简体中文,可以支持所有的字符集
-DSYSCONFIDIR=/etc \ //指定配置文件的目录,还没安装前,配置文件/etc/my.cnf默认存在,需要覆盖此文件
-DMYSQL_DATADIR=/home/mysql/ \ //指定数据库数据的安放位置,当创建了mysql的程序用户时,此目录自动生成
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock/
4.4 make配置文件构建出二进制文件
编译,将源代码转换为可执行的程序
4.5 make install 安装
将编译完的httpd程序及相关目录,文件复制到预设的安装目录
make && make install
4.6 主配置文件、启动脚本、命令文件
主配置文件
[root@localhost mysql]# cp /opt/mysql-5.6.26/support-files/my-default.cnf /etc/my.cnf
启动脚本
[root@localhost mysql]# cp /opt/mysql-5.6.26/support-files/mysql.server /etc/init.d/mysqld
[root@localhost support-files]# chmod +x /etc/init.d/mysqld //给与执行权限
[root@localhost init.d]# chkconfig --list //查看到MySQL服务已经开机自启动后,下面的开机自启的命令可以不重复敲
[root@localhost init.d]# chkconfig mysqld --level 35 on //开机自启动(init 3 ,init 5)
命令文件
[root@localhost ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin
4.7 创建程序用户管理
[root@localhost ~]# useradd -s /sbin/nologin mysql //程序用户,在家目录里会生成一个目录,且属主和属组都为自己
[root@localhost home]# ll
total 0
drwx------. 3 liang liang 78 Apr 11 2018 liang
drwx------ 3 mysql mysql 78 Sep 29 04:04 mysql //程序用户
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/ 递归改变原本mysqld的工作目录的属主和属组为mysql。原本的属主和属组都为root,相当于程序用户mysql 接管了整个mysql
4.8 初始化数据库
[root@localhost scripts]#
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql //数据库初始化后就可以进行逻辑化的管理,比如创建库创建表等
4.9 在启动文件里指明工作目录和数据目录
[root@localhost scripts]# vi /etc/init.d/mysqld
......
basedir=/usr/local/mysql
datadir=/home/mysql
....... //当mysql启动时,就会关联上这两个目录
4.10 启动mysql
service mysqld start
显示Starting MySQL.. SUCCESS!
netstat -anpt | grep 3306
[root@localhost mysql]# mysqladmin -uroot -p password '123' //默认数据库是没有密码的,用mysqladmin给数据库设定密码
五 编译安装PHP
5.1 安装依赖包
[root@localhost home]#
cd
yum -y install \
gd \ gd库,专门处理图片和图像
libpng \ 截图格式为png
libpng-devel \ 专门处理png格式的图片
pcre \ 正则表达式
pcre-devel \ 正则表达式
libxml2-devel \ 支持xml格式,2是版本2
libjpeg-devel 支持jpg格式
5.2 解压源码包
[root@localhost opt]# tar jxvf php-5.6.11.tar.bz2
5.3 ./configure 配置
先进入php目录:
cd php-5.6.11
./configure \
--prefix=/usr/local/php5 \ //指定安装路径
--with-gd \ //开启gd库,专门处理图片和图像
--with-zlib \ //支持php的函数
--with-apxs2=/usr/local/httpd/bin/apxs \ //核心模块的命令,关联apache
--with-mysql=/usr/local/mysql \ //关联mysql
--with-config-file-path=/usr/local/php5 \ //配置文件的路径
--enable-mbstring //多字节字符串,文本处理
5.4 make配置文件构建出二进制文件
编译,将源代码转换为可执行的程序
5.5 make install 安装
将编译完的httpd程序及相关目录,文件复制到预设的安装目录
make && make install
5.6 主配置文件、启动脚本、命令文件
主配置文件
[root@localhost php-5.6.11]#
cp php.ini-development /usr/local/php5/php.ini //php的配置文件是.ini格式
启动脚本
vim /etc/httpd.conf
在AddType application/x-gzip .gz .tgz下面添加两条
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
找到站点首页,把php的首页信息写进去
DirectoryIndex index.php index.html
命令文件
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/ //把php的配置文件链接到系统命令的bin目录下,便于使用管理
5.7 首页测试
刷新httpd服务
systemctl restart httpd
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
六 init 0-6
init 0 :关机
init 1 :单用户模式无网络
init 2 :多用户模式无网络字符终端
init 3 :多用户模式有网络字符终端
init 4 :保留
init 5 :多用户模式有网络图形界面
init 6 :重启系统