CentOS下搭建测试WEB平台
LAMP
MYSQL
下载免编译的软件包
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-x86_64-glibc23.tar.gz
解压
tar xvf mysql-5.1.73-linux-x86_64-glibc23.tar.gz
挪动到指定目录
mv mysql-5.1.73-linux-x86_64-glibc23 /usr/local/mysql
建立mysql用户
useradd -s /sbin/nologin mysql
创建datadir,数据文件会放在里面
mkdir -p /data/mysql
更改权限
chown -R mysql:mysql /data/mysql/
定义安装db脚本
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/
拷贝主配置文件
cp support-files/my-large.cnf /etc/my.cnf
拷贝启动脚本文件
cp support-files/mysql.server /etc/init.d/mysqld
更改权限
chmod 755 /etc/init.d/mysqld
编辑启动脚本文件
vim /etc/init.d/mysqld
datadir=/data/mysql
设定开机启动
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
确认是否启动
ps aux | grep mysqld
Apache编译安装
下载apache包
cd /usr/local/src
wget http://www.lishiming.net/data/attachment/forum/httpd-2.2.24.tar.bz2
tar jvxf httpd-2.2.24.tar.bz2
cd httpd-2.2.24
安装依赖包
yum install -y pcre pcre-devel apr apr-devel zlib-devel gcc
配置
./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre
编译
make
安装
make install
检查上条命令是否正常执行
echo $?
Apache的MPM工作模式
/usr/local/apache2/bin/apachectl –M
mpm开头的是apache的工作模式。shared表示动态共享,static表示静态共享。
Php编译安装-顺序在最后
下载Php包
cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.4.44.tar.gz
tar xvf php-5.4.44.tar.gz
安装依赖包
yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel
yum -y install libjpeg-devel
yum install -y epel-release
yum install -y libmcrypt-devel
配置
cd php-5.4.44
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql/ --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --disable-ipv6
echo $?
编译
make
编译文件测试
make test
安装
make install
拷贝php配置文件
cp php.ini-production /usr/local/php/etc/php.ini
修改apache配置文件
vim /usr/local/apache2/conf/httpd.conf
定义Server名字
ServerName localhost:80
如果不修改访问会显示403
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
加上对应类型支持Php脚本解析
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
增加针对php的索引
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
确认php配置文件是否正常
/usr/local/apache2/bin/apachectl -t
启动服务
/usr/local/apache2/bin/apachectl start
查看进程
ps aux | grep httpd
测试Php解析
写入测试php网页
vim /usr/local/apache2/htdocs/1.php
<?php
echo "php works";
?>
本机测试
curl localhost/1.php
安装Discuz!
下载discuz!
mkdir /data/www
cd /data/www/
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
unzip Discuz_X3.2_SC_GBK.zip
mv upload/* .
配置一地个虚拟主机
vim /usr/local/apache2/conf/httpd.conf
# Virtual hosts
去掉前面的#号
Include conf/extra/httpd-vhosts.conf
注释掉前面其它的VirtualHost,加入如下配置
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.123.com
</VirtualHost>
检查apache配置文件是否正确
/usr/local/apache2/bin/apachectl -t
重启apache服务
/usr/local/apache2/bin/apachectl restart
配置mysql,为Discuz!增加一个账户
/usr/local/mysql/bin/mysql -u root
创建一个库
mysql> create database discuz;
Query OK, 1 row affected (0.01 sec)
赋予权限给新用户
mysql> grant all on discuz.* to 'gyt'@'localhost' identified by 'root1234';
Query OK, 0 rows affected (0.07 sec)
默认运行apache的账号
vim /usr/local/apache2/conf/httpd.conf
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
编辑windows测试客户端host文件,增加如下参数:
C:\Windows\System32\drivers\etc

点击,我同意


需要更改权限。


修改目录权限
chown -R daemon:daemon data/ uc_server/data uc_client/data config

选择全新安装,点击下一步。

输入数据库用户账号/密码。设置admin账号密码。


记好Discuz!论坛管理员账号/密码。

Apache用户认证
刚装好的Discuz!论坛,有一个管理后台admin,本身有密码,但是为了更加安全,再设置一层用户认证。
限制了某些文件必须输入账号/密码才能访问。
Direcotry指定对哪个目录进行验证,AuthName自定义,AuthUserFile指定用户密码文件在哪里。
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.123.com
<Directory /data/www/admin.php>
AllowOverride AuthConfig
AuthName "alksdjflkasjdf"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
创建进行验证的用户
/usr/local/apache2/bin/htpasswd -cm /data/.htpasswd admin
检查apache配置是否正确
/usr/local/apache2/bin/apachectl -t
重启,graceful相当于reload
/usr/local/apache2/bin/apachectl graceful
查看加密的密码
cat /data/.htpasswd
[root@localhost www]# cat /data/.htpasswd
gyt:$apr1$/4qKQ0fY$3rCU7oE.wWlwCLv9MXYH3.
[root@localhost www]#

默认虚拟主机
修改默认第一个虚机主机。
有个特点就是凡是解析到这台机器的域名,不管是什么域名,只要配置文件中没有配置,都会访问到这个主机上来。
所以应该禁止掉。
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/tmp/tmp"
ServerName www.55tmp.com
<Directory /tmp/tmp>
Order allow,deny
Deny from all
</Directory>
# ServerAlias www.dummy-host.example.com
# ErrorLog "logs/dummy-host.example.com-error_log"
# CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
mkdir /tmp/tmp
/usr/local/apache2/bin/apachectl graceful


php扩展模块如何安装(Memcache)
下载memcache包
cd /usr/local/src/
wget http://www.lishiming.net/data/attachment/forum/memcache-2.2.3.tgz
tar zxvf memcache-2.2.3.tgz
cd memcache-2.2.3
安装依赖包
yum install -y m4 autoconf
用php生成configure文件
/usr/local/php/bin/phpize
配置
./configure --with-php-config=/usr/local/php/bin/php-config
编译
make
安装
make install
创建extension 目录
mkdir /usr/local/php/ext
拷贝memcache模块至ext目录。
cp modules/memcache.so /usr/local/php/ext/
编辑php配置文件,配置如下2行参数
vim /usr/local/php/etc/php.ini
extension_dir = "/usr/local/php/ext"
extension = memcache.so
查看extension_dir方法
/usr/local/php/bin/php -i | grep extension_dir
检测和查看具体的模块,如果有memcache说明配置成功
/usr/local/php/bin/php -m
LNMP
本次LNMP环境需要的依赖包,Mysql部分参考LAMP 章节Mysql部分安装即可。
yum install -y libcurl-devel
yum install -y libtool-ltdl-devel
yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel
yum -y install libjpeg-devel
yum install -y epel-release
yum install -y libmcrypt-devel
yum install gcc
yum install libcurl
php编译安装
下载PHP源码包
cd /usr/local/src
wget http://au1.php.net/distributions/php-5.4.44.tar.bz2
解压源码包,创建账号,用于运行php-fpm服务,在LNMP环境张,php是以一个服务来提供服务的。
tar jxf php-5.4.44.tar.bz2
useradd -s /sbin/nologin php-fpm
cd php-5.4.44
配置编译选项
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd -with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --enable-zend-multibbyte --disable-ipv6 --with-pear --with-curl --with-openssl
编译php
make
安装php
make install
拷贝配置文件
cp php.ini-production /usr/local/php/etc/php.ini
备份php-fpm默认文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf.default.bak
更改为conf文件
mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
修改配置文件
vim /usr/local/php/etc/php-fpm.conf
[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
pid = /usr/local/php/var/run/php-fpm.pid
; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log
error_log = /usr/local/php/var/log/php-fpm.log
[www]
user = php-fpm
group = php-fpm
listen = /tmp/php-fcgi.sock
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
检查配置是否正确
/usr/local/php/sbin/php-fpm –t
拷贝一个启动脚本到/etc/init.d下
cp /usr/local/src/php-5.4.44/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
更改脚本权限
chmod 755 /etc/init.d/php-fpm
service php-fpm start
开机启动
chkconfig php-fpm on
检测是否启动
ps aux | grep php-fpm
更改权限
chmod 777 /tmp/php-fcgi.sock
更改属主属组
chown php-fpm:php-fpm /tmp/php-fcgi.sock
Nginx编译安装
下载、解压Nginx
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar zxvf nginx-1.8.0.tar.gz
配置编译选项
cd nginx-1.8.0
yum -y install pcre-devel openssl openssl-devel
./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_sub_module --with-http_gzip_static_module --with-http_stub_status_module --with-pcre
编译
make
安装
make install
启动Nginx
/usr/local/nginx/sbin/nginx
通过进程确认
ps aux | grep nginx
配置Nginx配置文件,使其能够支持php
vim /usr/local/nginx/conf/nginx.conf
找到
location = /50x.html {
root html;
}
后面修改如下配置
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
重新加载
/usr/local/nginx/sbin/nginx -s reload
创建测试文件
vim /usr/local/nginx/html/2.php
<?php
echo "php works";
?>
测试
curl localhost/2.php
出现这个,代表环境Ok。
php works
Tomcat
安装
查看jdk版本
java -version
确认java命令信息
whereis java
记录java home
vim /etc/java/java.conf
JVM_ROOT=/usr/lib/jvm
#JAVA_HOME=$JVM_ROOT/jre
下载tomcat
cd /usr/local/src
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz
解压
tar zxvf apache-tomcat-7.0.70.tar.gz
移动程序目录
mv apache-tomcat-7.0.70 /usr/local/tomcat
配置启动脚本
cp -pv /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
编辑脚本
vim /etc/init.d/tomcat
增加2个参数
JAVA_HOME=/usr/lib/jvm/jre
CATALINA_HOME=/usr/local/tomcat
启动
/etc/init.d/tomcat start
访问测试

配置
编辑配置文件
vim /usr/local/tomcat/conf/server.xml
修改connector port 默认端口8080为80
<Connector port="80" protocol="HTTP/1.1"
在host后面
</Host>
添加一个host
<Host name="www.111.com" appBase="/data/tomcatweb"
unpackWARs="false" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="./" debug="0" reloadable="true" crossContext="true"/>
</Host>
访问测试

添加一个测试网页
[root@localhost ~]# cat /data/tomcatweb/111.jsp
<html><body><center>
Now time is:<%=new java.util.Date()%>
</center></body></html>
[root@localhost ~]#
访问测试


resin
安装依赖包
yum -y install glibc-devel.i686
yum install /lib/ld-linux.so.2
yum install openssl-devel
安装Jdk
从oracle官网下载
http://www.oracle.com/technetwork/java/javase/downloads/
解压
tar xvf jdk-8u101-linux-i586.tar.gz
移动程序文件
mv jdk1.8.0_101/ /usr/local/jdk1.8.0_101
编辑变量
vim /etc/profile.d/java.sh
JAVA_HOME=/usr/local/jdk1.8.0_101
JAVA_BIN=/usr/local/jdk1.8.0_101/bin
JRE_HOME=/usr/local/jdk1.8.0_101/jre
PATH=$PATH:/usr/local/jdk1.8.0_101/bin:/usr/local/jdk1.8.0_101/jre/bin
CLASSPATH=/usr/local/jdk1.8.0_101/jre/lib:/usr/local/jdk1.8.0_101/lib:/usr/local/jdk1.8.0_101/jre/lib/charsets.jar
在系统中生效
source /etc/profile.d/java.sh
查看Java版本
java -version
安装resin
下载
wget www.aminglinux.com/bbs/data/attachment/forum/resin-4.0.36.tar.gz
解压
tar jxvf resin-4.0.36.tar.gz
cd resin-4.0.36
配置编译选项
./configure --prefix=/usr/local/resin --with-java-home=/usr/local/jdk1.8.0_101/
编译
make
安装
make install
确认是否执行成功
echo $?
编辑配置文件
<host id="www.123.com" root-directory=".">
<!--
- webapps can be overridden/extended in the resin.xml
-->
<web-app id="/" root-directory="/data/123/"/>
</host>
服务启动
/etc/init.d/resin start
添加测试文件
vim /data/123/111.jsp
<html><body><center>
Now time is:<%=new java.util.Date()%>
</center></body></html>
测试ok
curl -x 127.0.0.1:8080 www.123.com/111.jsp
<html><body><center>
Now time is:Wed Jul 20 11:24:32 EDT 2016
</center></body></html>
Lighttpd
安装lighttpd所需依赖包
yum install gcc
yum install pcre-devel
yum install zlib-devel
yum install bzip2
yum install bzip2-devel
下载解压,配置,编译,安装
cd /usr/local/src/
wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.gz
tar xvf lighttpd-1.4.41.tar.gz
cd lighttpd-1.4.41
./configure --prefix=/usr/local/lighttpd
make && make install
echo $?
创建配置文件中指定目录以及文件
mkdir -p /etc/lighttpd/conf.d
cd /etc/lighttpd/conf.d
touch access_log.conf
touch debug.conf
touch dirlisting.conf
touch mime.conf
mkdir -p /srv/www/htdocs
mkdir -p /var/log/lighttpd/
mkdir /srv/www/vhosts
cd /var/log/lighttpd/
touch error.log
拷贝样板文件到指定目录
cp doc/config/lighttpd.conf /usr/local/lighttpd/
cp doc/config/lighttpd.conf /etc/lighttpd/.
配置权限
chown -R lighttpd.lighttpd /var/log/lighttpd
chown -R lighttpd.lighttpd /etc/lighttpd
使配置生效
/usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
查看lighttpd占用80端口的进程
lsof -i:80
写入测试文件
[root@localhost htdocs]# vim /srv/www/htdocs/index.html
fsfsfs
配置重新加载
/usr/local/lighttpd/sbin/lighttpd -tt -f /etc/lighttpd/lighttpd.conf
测试
curl -i http://192.168.211.128
CentOS下搭建测试WEB平台的更多相关文章
- CentOS下搭建LAMP环境详解
		
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
 - Centos下搭建 nginx+uwsgi+python
		
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
 - Centos下搭建LAMP+PHP
		
Centos下搭建LAMP+PHP LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管 ...
 - centos下搭建python双版本环境
		
目录 centos下搭建python双版本环境 一.安装python3 1.理清自带python位置 2.更新用于下载编译python3的相关包 3.安装pip 4.用pip安装wget 5.用wge ...
 - Centos下搭建DNS域名解析服务器
		
Centos下搭建DNS域名解析服务器 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...
 - CentOS下搭建LNMP+WordPress+http2.0教程
		
此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...
 - Linux CentOS下部署Java Web项目
		
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
 - 在CentOS下搭建Android 开发环境
		
在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...
 - centos 下 搭建 php 环境
		
本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...
 
随机推荐
- Linux exec族函数解析
			
背景 在提到 vfork 函数时,我们提到了这个概念.为了更好地学习与运用,我们对exec族函数进行展开. exec函数族 介绍 有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中 ...
 - 【Luogu】P1072 Hankson 的趣味题 题解
			
原题链接 嗯...通过标签我们易得知,这是一道数学题(废话) 其中,题目给了这两个条件: \(gcd(x,a_0)=a_1,lcm(x,b_0)=b_1\) 所以,根据 \(gcd\) 与 \(lcm ...
 - Linux__用户用户组和权限
			
用户用户组和权限 useradd +用户名, 添加这个用户 userdel +用户名, 删除这个用户(有残留 ) userdel -r +用户名, 彻底删除这个用户 groupadd +组名 ,添加这 ...
 - Java如何正确比较浮点数
			
看下面这段代码,将 d1 和 d2 两个浮点数进行比较,输出的结果会是什么? double d1 = .1 * 3; double d2 = .3; System.out.println(d1 == ...
 - 关于保存批量数据进入mysql
			
提出的要求: 生成13位纯数字的卡号与8位纯数字的卡密,要求卡号与卡密都必须全表唯一,然后保存到mysql. 思路: 1.首先mysql中将这两个字段设置唯一索引,保证这两个字段的值在该表中是唯一存在 ...
 - springboot data jdbc 数据库日期和查询出来的结果不一致
			
解决方法: 一.将serverTimezone=UTC改为CTT url: jdbc:mysql://localhost:3306/moviechoicesystem?serverTimezone=C ...
 - 13、form组件
			
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...
 - form表单ajax提交
			
这里下面有两种 第一种是form表单里面添加了数据,并且含有上传的图片,第二种是from表单中不含有图片 只有普通数据 第一种form表单中包含有图片的类型: <form method=&q ...
 - Tim Urban:如何选择真正适合你的职业?
			
Wait But Why是一个专注于写长博客的网站,Tim Urban是网站的创始人之一.Tim Urban专注于写长论文,与时下的轻度阅读完全背道而驰,文章动辄几千甚至上万字,但令人吃惊的是却拥有惊 ...
 - MySQL全面瓦解11:子查询和组合查询
			
概述 子查询是SQL查询中的重要一块,是我们基于多表之间进行数据聚合和判断的一种手段,使得我们的处理复杂数据更加的便捷,这一节我们主要来了解一下子查询. 先做一下数据准备,这边建立三张表:班级.学生. ...