标签:chown 响应头 path 超时 linux rfc 连接 1.5 权限控制
我选取了64位的CentOS 7这个Linux系统,安装过程也很简单,不再过多叙述,只稍微介绍一下我的分区情况:
我选择了httpd 2.2这个版本,可以参考官方说明文档。
安装依赖需要用到的gcc、g++编译器:
########gcc、g++ sudo yum install gcc sudo yum install gcc-c++
下面两个是apache的优化工具:
########apr wget http://labfile.oss.aliyuncs.com/apr-1.5.1.tar.gz tar -zxvf apr-1.5.1.tar.gz cd apr-1.5.1/ ./configure --prefix=/opt/apr sudo make && make install
########apr-util cd Downloads/ wget http://labfile.oss.aliyuncs.com/apr-util-1.5.4.tar.gz tar -zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/opt/apr-util --with-apr=/opt/apr sudo make && make install
Perl库,兼容正则表达式库:
cd Downloads/ wget http://labfile.oss.aliyuncs.com/pcre-8.36.tar.gz tar -zxvf pcre-8.36.tar.gz cd pcre-8.36 ./configure --prefix=/opt/pcre sudo make && make install
cd Downloads/ wget http://labfile.oss.aliyuncs.com/httpd-2.2.29.tar.gz tar -zxvf httpd-2.2.29.tar.gz cd httpd-2.2.29 ./configure --prefix=/opt/apache --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/opt/pcre sudo make && make install sudo sed -i ‘s/^#ServerName.*/ServerName localhost/‘ /opt/apache/conf/httpd.conf
启动:
sudo /opt/apache/bin/apachectl start
获取服务器回应(安装apache最后一步已经将服务器设为localhost):
curl -I 127.0.0.1
若安装成功则如下:
关闭:
sudo /opt/apache/bin/apachectl stop
MySQL编译安装
###若先前编译过,则需要删除刚才编译生成的CMakeCache.txt文件
rm -f CMakeCache.txt sudo yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* cmake cmake-gui libaio-devel bison-devel make
cd Downloads/ wget http://labfile.oss.aliyuncs.com/mysql-5.6.24.tar.gz tar -zxvf mysql-5.6.24.tar.gz cd mysql-5.6.24 cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 sudo make sudo make install
id mysql > /dev/null 2>&1 || sudo useradd -r -s /sbin/nologin -M -d /opt/mysql/data mysql
sudo chown -R mysql:mysql /opt/mysql/data sudo /opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql --datadir=/opt/mysql/data --user=mysql --defaults-file=/opt/mysql/support-files/my-default.cnf
sudo sh -c ‘cat >> /opt/mysql/my.cnf <<EOF basedir = /opt/mysql datadir = /opt/mysql/data log-error = /opt/mysql/data/error.log pid-file = /opt/mysql/data/mysql.pid port = 3306 EOF‘
sudo sh -c ‘for file in /etc/mysql/my.cnf /etc/my.cnf ; do [ -f $file ] && rm -f $file ; done‘
sudo /opt/mysql/support-files/mysql.server start
成功则显示:
/opt/mysql/bin/mysqladmin ping
成功则显示:
/opt/mysql/bin/mysql -u root -e ‘show databases;‘
sudo /opt/mysql/support-files/mysql.server stop
成功则显示:
最后三个文件可以从这里下载。
cd Downloads/ sudo yum install zlib1g-dev libbz2-dev libcurl4-gnutls-dev libjpeg-dev libpng12-dev libfreetype6-dev libmcrypt-dev libxml2-dev sudo yum install bzip2-devel.x86_64 -y sudo yum -y install curl-devel sudo yum install openssl.x86_64 openssl-devel.x86_64 -y sudo yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y sudo yum install libjpeg libjpeg-devel libpng libpng-devel
cd Downloads/ wget http://labfile.oss.aliyuncs.com/php-5.5.21.tar.gz tar -zxvf php-5.5.21.tar.gz cd php-5.5.21 ./configure --prefix=/opt/php --with-bz2 --with-curl --with-jpeg-dir --with-gd --enable-shared --enable-mbstring --with-mcrypt --with-mysql=/opt/mysql --with-pdo-mysql=/opt/mysql --with-mysqli=/opt/mysql/bin/mysql_config --enable-fpm --enable-phar --enable-bcmath --with-zlib --enable-zip --enable-ftp --with-gettext --enable-sockets --with-freetype-dir --with-config-file-path=/opt/php/etc/php.ini --with-config-file-scan-dir=/opt/php/etc/conf.d --with-apxs2=/opt/apache/bin/apxs sudo make sudo make install sudo cp php.ini-production /opt/php/etc/php.ini
/opt/php/bin/php -m | grep mysql
若支持则显示:
sudo sh -c ‘cat >> /opt/apache/conf/httpd.conf <<EOF <IfModule mime_module> AddType application/x-httpd-php .php </IfModule> EOF‘
sudo /opt/apache/bin/apachectl -k restart
sudo sh -c ‘echo "<?php echo phpinfo(); ?>" > /opt/apache/htdocs/test.php‘
在浏览器输入:
http://localhost/test.php
配置成功则显示php信息:
在php.ini中加载模块:
sudo sh -c ‘echo "extension=ftp.so" >> /opt/php/etc/php.ini‘
配置文件/opt/php/etc/php.ini:
###常规配置
engine = On
short_open_tag = Off #tags识别
asp_tags = Off #asp tags识别
precision = 14 #浮点类型数显示时的有效位数
output_buffering = 4096 #输出缓存允许你在输出正文内容之后发送 header
implicit_flush = Off #告诉输出层在每个输出块之后自动刷新自身数据
disable_functions = #关闭特定函数
display_errors = Off #显示错误信息
log_errors = On #在日志文件里记录错误
request_order = "GP" #GET POST
register_argc_argv = On #是否声明 argv和argc 变量
post_max_size = 8M #最大POST大小
file_uploads = On #是否允许HTTP方式文件上载
upload_tmp_dir = #用于HTTP上载的文件的临时目录
upload_max_filesize = 2M #上载文件的最大大小
max_file_uploads = 20 #每次最大上传文件个数
allow_url_fopen = On #是否允许把URLs当作http:.. 或把文件当作ftp:...
default_socket_timeout = 60 #默认socker超时时间
#MySQL相关
mysql.allow_persistent = On #允许持久连接
mysql.cache_size = 2000 #缓存大小
mysql.max_persistent = -1 #持久连接的最大数目 -1不限制
mysql.max_links = -1 #最大链接
mysql.connect_timeout = 60 #连接超时时间
#session相关
session.save_handler = files #用于保存/取回数据的控制方式
session.use_cookies = 1 #是否使用cookies
session.name = PHPSESSID #设置cookies名
session.use_only_cookies = 1 #强制SESSION ID必须以COOKIE传递
session.auto_start = 0 #在请求启动时初始化session
session.cookie_lifetime = 0 #cookies保持时间
#session垃圾回收参数
session.gc_probability = 1 #按百分比整理
session.gc_divisor = 1000 #每次请求时有1/1000的机会启动"垃圾回收"进程
#Session ID传递参数
session.use_trans_sid = 0 #使用URL的方式传递session id
session.hash_function = 0 #生成SID MD5算法
session.hash_bits_per_character = 5 #指定在SID字符串中的每个字符内保存多少bit
#常用配置参数
max_execution_time 30 #一个脚本可使用多少 CPU 秒
max_input_time 60 #一个脚本等待输入数据的时间有多长(秒)
memory_limit 32M #在被取消之前,一个脚本可使用多少内存(字节)
output_buffering 4096 #数据发送给客户机之前,有多少数据(字节)需要缓存
apache主配置文件/opt/apache/conf/httpd.conf:
#apache服务根目录
ServerRoot "/opt/apache"
#服务管理员
ServerAdmin you@example.com
#监听端口
Listen 80
#默认首页
DirectoryIndex index.php
#加载php模块
LoadModule php5_module modules/libphp5.so
#解析php
AddType application/x-httpd-php .php
#目录权限参数
DocumentRoot "/opt/apache/htdocs" #WEB文件根目录
<Directory "/opt/apache/htdocs">
# 官方文档链接 http://httpd.apache.org/docs/2.2/mod/core.html
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all #允许所有请求
</Directory>
AllowOverride参数详解:
Options参数详解:
#日志配置参数
ErrorLog "logs/error_log"
LogLevel warn #错误日志记录等级
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common #自定义日志 名为common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common #日志路径 使用名为common的自定义格式
</IfModule>
LogLevel记录日志等级:
日志格式:
1. %h - 客户端的ip地址或主机名。
2. %l - The 这是由客户端 identd 判断的RFC 1413身份,输出中的符号 “-” 表示此处信息无效。
3. %u - 由HTTP认证系统得到的访问该网页的客户名。有认证时才有效,输出中的符号 “-” 表示此处信息无效。
4. %t - 服务器完成对请求的处理时的时间。
5. “%r” - 引号中是客户发出的包含了许多有用信息的请求内容。
6. %>s - 这个是服务器返回给客户端的状态码。
7. %b - 最后这项是返回给客户端的不包括响应头的字节数。
8. “%{Referer}i” - 此项指明了该请求是从被哪个网页提交过来的。
9. “%{User-Agent}i” - 此项是客户浏览器提供的浏览器识别信息。
#实际访问日志
192.168.1.166 - - [04/Feb/2015:12:52:35 +0800] "GET / HTTP/1.1" 200 25
#基于域名的虚拟主机
<VirtualHost *:80>
DocumentRoot /web1
ServerName web1.com
ErrorLog /app/apache/logs/error_log
CustomLog /app/apache/logs/access_log combined
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /web2
ServerName web2.com
</VirtualHost>
#基于IP的虚拟主机
<VirtualHost 210.20.30.40>
DocumentRoot /web1
ServerName web1.com
</VirtualHost>
<VirtualHost 210.20.30.50>
DocumentRoot web2
ServerName web2.com
lamp :在Linux 下搭建apache、Mysql、php
标签:chown 响应头 path 超时 linux rfc 连接 1.5 权限控制
原文地址:http://www.cnblogs.com/fang123456/p/7194146.html