环境
Ubuntu 16.04.1
Apache 2.4.18
php 7.0.33
mysql 5.7.33
安装Apache
- 安装
1 | $ apt-get update && apt-get install -y apache2 |
- 启动
1 | $ service apache2 start |
- 外网访问
浏览器打开 http://121.5.206.236 ,如上图所示,成功访问。
安装MySQL
- 安装
1 | $ apt-get update && sudo apt-get install -y mysql-server php-mysql |
分别安装的 mysql 的服务端,以及 php 调用 mysql 的模块。
- 设置数据库的账号和密码
1 | $ mysql_secure_installation |
- 启动
1 | $ service mysql start |
安装PHP
- 安装
1 | $ apt-get install -y php libapache2-mod-php php-mcrypt |
分别安装 php、apache 的 php 库文件以及 php 的加密库。
- 查看版本
1 | $ php -v |
检验
- 创建 /var/www/html/phpinfo.php,内容如下
1 | <?php |
- 外网访问
浏览器打开 http://121.5.206.236/phpinfo.php ,如上图所示,成功访问。
Apache配置
- 一般优化配置
1 | # 指定apache服务器的配置文件存放的根目录,默认值为"/etc/apache2"。 |
Apache 的主要配置文件是 /etc/apache2/apache2.conf,以下是一些常用的配置项,配置项中用到的环境变量都在 /etc/apache2/envvars 中定义。
- 日志格式配置
1 | # 错误日志记录等级,默认值为"warn" |
参数 | 说明 |
---|---|
%h | 客户端的 ip 地址或主机名 |
%l | 由客户端 identd 判断的 RFC 1413 身份,输出中的符号 “-“ 表示此处信息无效 |
%u | 认证系统得到的访问该网页的客户端用户名。有认证时才有效,输出中的符号 “-“ 表示此处信息无效 |
%t | 服务器接收到请求的时间 |
“%r” | 请求中的首行信息 |
%>s | 服务器返回给客户端的最终状态的状态码 |
%O | 发送的自己数,包含报头 |
%V | 依照 UseCanonicalName 规范设置得到的服务器名字 |
“%{Referer}i” | 此项指明了该请求是从被哪个网页提交过来的 |
“%{User-Agent}i” | 此项是客户浏览器提供的浏览器信息 |
以上参数以 combined 为说明,更多参数查看官方文档。
- 访问控制配置
1 | # 允许所有主机访问/var/www/html目录 |
以上是 Directory 参数的示例,更多参数查看[官方文档](http://httpd.apache.org/docs/current/mod/core.html# directory “官方文档”)。
- 虚拟主机配置
1 | # 基于 ip 地址的不同来实现两个站点 |
PHP配置
- 常用的配置
1 | engine = On # 允许 php 引擎在 apache 中运行 |
- mysql 相关
1 | mysql.allow_persistent = On # 允许持久连接 |
- session 相关
1 | session.save_handler = files # 用于保存/取回数据的控制方式 |
Mysql配置
- MyISAM 存储引擎
1 | key_buffer_size 可用内存的20% |
- InnoDB 存储引擎
1 | innodb_buffer_pool_size 可用内存的 70% |