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平台的更多相关文章

  1. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  2. Centos下搭建 nginx+uwsgi+python

    python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...

  3. Centos下搭建LAMP+PHP

    Centos下搭建LAMP+PHP LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写: Linux,操作系统 Apache,网页服务器 MariaDB或MySQL,数据库管 ...

  4. centos下搭建python双版本环境

    目录 centos下搭建python双版本环境 一.安装python3 1.理清自带python位置 2.更新用于下载编译python3的相关包 3.安装pip 4.用pip安装wget 5.用wge ...

  5. Centos下搭建DNS域名解析服务器

    Centos下搭建DNS域名解析服务器 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...

  6. CentOS下搭建LNMP+WordPress+http2.0教程

    此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...

  7. Linux CentOS下部署Java Web项目

    本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...

  8. 在CentOS下搭建Android 开发环境

    在CentOS下搭建Android 开发环境 目录 1.环境搭建 1.1.JDK安装 1.2.Eclipse安装 1.3.ADT安装 1.4.Android SDK安装 1.5.Android NDK ...

  9. centos 下 搭建 php 环境

    本文详细阐述在 Linux 系统中搭建 PHP 环境,由于 PHP 就是由 C 语言编写的,最初也是运行在 Linux 系统中,所以Linux 是 PHP 的最佳环境. 关于本文中使用到的软件,请点击 ...

随机推荐

  1. Redis常用命令(2)——String

    APPEND 格式:APPEND key value 作用:在key的键值后追加value,如果key不存在,则创建key,并存入value. 返回值:追加value后的字符串长度. 示例: 192. ...

  2. 考场(NOIP/ICPC)沙雕错误锦集(大赛前必看,救命提分良药)

    记住,无论什么测试,一定要先打三题暴力(至少不会被屠得太惨) 2018.10.4 1.记得算内存.(OI一年一场空,没算内存见祖宗) 2018.10.6 1.在二分许多个字符串时(二分长度),要以长度 ...

  3. leetcode24:word-ladder-ii

    题目描述 给定两个单词(初始单词和目标单词)和一个单词字典,请找出所有的从初始单词到目标单词的最短转换序列: 每一次转换只能改变一个单词 每一个中间词都必须存在单词字典当中 例如: 给定的初始单词st ...

  4. vue实现带logo的二维码/商品条形码/打印商品吊牌

    一.带logo的二维码 1.安装 npm install vue-qr --save 2.在页面或组件中使用 <template> <div id="qrcode" ...

  5. SpringBoot中的响应式web应用

    目录 简介 Reactive in Spring 注解方式使用WebFlux 编程方式使用webFlux Spring WebFlux的测试 总结 简介 在Spring 5中,Spring MVC引入 ...

  6. kafka消费者offset存储策略

    由于 consumer 在消费过程中可能会出现断电宕机等故障,consumer 恢复后,需要从故 障前的位置的继续消费,所以 consumer 需要实时记录自己消费到了哪个 offset,以便故障恢 ...

  7. Python_用PyQt5 建 notepad 界面

    用PyQt5建notepad界面 1 # -*-coding:utf-8 -*- 2 """ 3 简介:用PyQt5做一个对话框,有菜单(2个.有独立图标.快捷键).提示 ...

  8. Java web项目JXl导出excel,(从eclipse上移动到tomact服务器上,之路径更改)

    我用的是jxl导出excel,比较简单,最开始我是固定路径不能选择,很局限,后来改了,而且固定路径当把项目放在服务器上时,路径不可行. 在网上各位大神的帮助成功设置响应头,并且可选保存路径. 1.前端 ...

  9. Dnscat2实现DNS隐蔽隧道反弹Shell

    DNS介绍 DNS是域名系统(Domain Name System)的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被 ...

  10. [原题复现]ByteCTF 2019 –WEB- Boring-Code[无参数rce、绕过filter_var(),等]

    简介  原题复现:  考察知识点:无参数命令执行.绕过filter_var(), preg_match()  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使 ...