您的位置:首页 > 运维架构 > Tomcat

Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP

2015-11-19 22:04 2176 查看

Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP

按照以下步骤操作就可以搭建一个可运行java、php文件的Linux系统

一、下载编译环境

mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup

mv /etc/yum.repos.d/CentOS-fasttrack.repo/etc/yum.repos.d/CentOS-fasttrack.repo.backup

2、进入目录

cd /etc/yum.repos.d/

3、设置更新地址

curl -O http://mirrors.163.com/.help/CentOS6-Base-163.repo
4、安装前设置

yum clean all

yum makecache

安装gcc时出现这个错误时:yum[Errno 256] No more mirrors to try

5、开始安装

yum install bind-utils

yum install wget

yum install gcc

bind-utils:DNS是一种将域名解析为IP地址的服务。如解析百度的地址得到111.13.100.92

bind是linux系统下的一个DNS服务程序。bind-utils是bind软件提供的一组DNS工具包。里面有一些DNS工具包

wget:Linux系统中的wget是一个下载文件的工具,wget [参数] [URL地址]:用于从网络上下载资源,没有指定目录,下载资源会默认为当前的目录

gcc:编程所需

二、安装vsFtpd

1、安装vsFtpd

rpm -qa | grep ftpd 查看当前系统是否安装ftp服务

yum search ftpd 查询远端yum源中是否有ftpd‘

yum install vsftpd 安装vsftpd

rpm -ql vsftpd 查看vsFtpd安装情况

修改vsftpd服务启动

chkconfig --list vsftpd

cd /etc/init.d

chkconfig --add vsftpd

chkconfig --level 3 vsftpd on 开启级别3上启动

启动vsftpd服务:

netstat -na|more 查看是否开启默认的FTP端口21

/etc/init.d/vsftpd start

netstat -na|more

修改iptables防火墙配置

测试是否为防火墙

/etc/init.d/iptables stop 暂时关闭防火墙

cd /etc/sysconfig/

vi iptables

在:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

下面添加:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT

重启防火墙服务

/etc/init.d/iptables restart

出现如下错误提示:

[右] 500 OOPS: cannot change directory:/home/abc

解决方法:

sestatus -b | grep ftp

永久开启该规则,这里需要等待一会

setsebool -P ftp_home_dir on

成功后,就可以使用客户端工具(FlashFXP)上传文件

三、安装nginx

1、解压

tar zxvf nginx-1.9.4.tar.gz

cd nginx-1.9.4

从原码方式进行安装

2、查看帮助信息

./configure --help|more

3、检查安装环境

./configure --prefix=/opt/nginx

会出现错误,缺少PCRE库

yum install pcre-devel

出现错误提示./configure:error:the HTTP gzip module requires the zlib library

yum install zlib-devel

说明:每次错误后需要重新执行configure(包含配置参数)

完成后执行:configure

make

以root身份执行

/bin/su -

cd /home/zhuwentao/nginx-1.9.4

make install

启动nginx(必须要以root身份启动)

/opt/nginx/sbin/nginx

查看是否启动成功

ps -ef|grep nginx

修改iptables的设置,开启80端口

vi /etc/sysconfig/iptables

在 -A INPUT m state --state NEW -m tcp -p tcp.....

里面加上80端口

重启防火墙

/etc/init.d/iptables restart

在浏览器中输入192.168.56.1

如果能出现Welcome to nginx!界面则代表成功了,Nginx安装完成

默认情况下:

conf —— 配置文件夹

html —— 默认服务器的Webroot

sbin —— Nginx核心

logs —— 日志文件夹

做一个网页来测试

vi test.html

如果出现404错误

也许是html的路径问题,此html不是安装目录下的html文件夹

cd /opt/nginx/html

要在该路径下新建html文件,才不报404错误

开机自动启动Nginx

vi /etc/rc.local中加入一行

/opt/nginx/sbin/nginx

四、安装MySQL

tar zxvf mysql-5.6.26.tar.gz

cd mysql-5.6.26

安装Cmake

yum install cmake

cmake \

-DCMAKE_INSTALL_PREFIX=/opt/mysql5.6 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DMYSQL_DATADIR=/opt/mysql5.6/data \

-DMYSQL_UNIX_ADDR=/opt/mysql5.6/mysql.sock \

每次重新cmake前需要删除CMakeCache.txt文件

安装ncurses-devel

yum install ncurses-devel

安装g++

yum install gcc-c++

安装bison

yum install bison

编译MySQL

make

安装MySQL

cd /home/abc/mysql-5.6.26

make install #root用户执行

初始化数据库引擎

cd /opt/mysql5.6

scripts/mysql_install_db --basedir=/opt/mysql5.6 --datadir=/opt/mysql5.6/data

提示 /usr/bin/perl: bad interpreter 需要Perl

yum install perl

系统需要mysql用户(如果未创建),则:

/usr/sbin/useradd mysql

chown mysql:mysql -R /opt/mysql5.6

编辑mysql配置文件

vi my.cnf

basedir = /opt/mysql5.6

datadir = /opt/mysql5.6/data

socket = /opt/mysql5.6/mysql.sock

启动mysql服务

support-files/mysql.server start

bin/mysql -u root #测试

mysql> show variables like '%char%';

检查是否是utf8

加入系统服务

cp support-files/mysql.server /etc/init.d/mysql

cd /etc/init.d

chkconfig --list mysql

chkconfig --add mysql

chkconfig --list mysql

五、安装JDK和Tomcat

普通用户

tar zvxf jdk-8u60-linux-i586.tar.gz

cd jdk1.8.0_60

root用户

mkdir /opt/java

mv /home/abc/jdk1.8.0_60 /opt/java/.

普通用户

tar zvxf apache-tomcat-8.0.26.tar.gz

root用户

mv /home/abc/apache-tomcat-8.0.26 /opt/.

cd /opt/apache-tomcat-8.0.26/bin

vi setclasspath.sh

增加

export JAVA_HOME=/opt/java/jdk1.8.0_60

启动测试Tomcat

./startup.sh

关闭防火墙做测试

/etc/init.d/iptables stop

用浏览器浏览http://192.168.56.1:8080

在/opt下建立文件夹 web/jsp

mkdir -p /opt/web/jsp

mkdir -p /opt/web/jsp/WEB-INF

cd /opt/apache-tomcat-8.0.26/conf/

修改apache-tomcat-8.0.26的server.xml增加虚拟路径配置

<Context docBase="/opt/web/jsp" path="/test" debug="0" reloadable="false" />

在/opt/web/jsp/下新建index.jsp文件内容为

<%=new java.util.Date()%>

重启Tomcat服务器

./shutdown.sh

./startup.sh

访问 http://192.168.56.1:8080/test 测试

修改/opt/nginx/conf/nginx.conf

在http段中加入负载均衡设置

upstream web_app {

server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s;

#server 127.0.0.1:8081 weight=1 max_fails=2 fail_timeout=30s;

}

在加入服务器设置

server{

listen 81;

server_name localhost;

index index.jsp index.html index.htm;

root /opt/web/jsp;

location / {

proxy_next_upstream http_502 http_504 error timeout invalid_header;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://web_app;
expires 3d;

}

location ~^/(WEB-INF)/{

deny all;

}

}

重新启动nginx

ps -ef|grep nginx

kill -9 <nginx-pid>

/opt/nginx/sbin/nginx

编辑防火墙加入81端口

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT

在/etc/rc.local中加入

/opt/apache-tomcat-8.0.26/bin/startup.sh

遗留问题:负载均衡后的session处理,通过内存数据库服务器处理。

其中一个:memcached

六、安装PHP

tar zvxf php-5.6.13.tar.gz

cd php-5.6.13

./configure \

--prefix=/opt/php5.6.13 \

--with-config-file-path=/opt/php5.6.13 \

--disable-ipv6 \

--disable-debug \

--disable-rpath \

--enable-fpm \

--with-mysql=/opt/mysql5.6 \

--with-mysql-sock=/opt/mysql5.6/mysql.sock \

--with-mysqli=/opt/mysql5.6/bin/mysql_config \

--with-pdo-mysql=/opt/mysql5.6 \

--with-gd \

--enable-gd-native-ttf \

--with-jpeg-dir \

--with-png-dir \

--with-zlib-dir \

--with-freetype-dir \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-shmop \

错误提示

configure: error: xml2-config not found. Please check your libxml2 installation.

安装libxml2-devel

yum install libxml2-devel

错误提示

configure: error: jpeglib.h not found.

安装GD处理图形库

yum install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel

错误提示

configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

编辑 vi /etc/ld.so.conf

加入

/usr/local/lib

/opt/mysql5.6/lib

更新动态库(so)信息

ldconfig

make -j9

用root用户

cd /home/abc/php-5.6.13

make install

配置php应用服务器(fpm)

cp /opt/php5.6.13/etc/php-fpm.conf.default /opt/php5.6.13/etc/php-fpm.conf

cp /home/zhuwentao/MyDirTest/php-5.6.13/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig --list php-fpm

启动PHP应用服务器

ps -ef|grep php

/etc/init.d/php-fpm start

ps -ef|grep php

七、Nginx与PHP的共同工作

cd /opt/nginx/conf

编辑nginx.conf修改php的配置

修改,并去掉#号

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;



fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

配置Nginx启动服务脚本
https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/
vi /etc/init.d/nginx

加入上述网址中的内容

修改Nginx的相关路径

nginx="/usr/sbin/nginx" 变为

nginx="/opt/nginx/sbin/nginx"

修改NGINX_CONF_FILE="/etc/nginx/nginx.conf" 变为

NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"

修改start()段中的“make_dirs” 注释掉

chmod +x /etc/init.d/nginx

测试启动脚本

ps -ef|grep nginx

/etc/init.d/nginx stop

ps -ef|grep nginx

/etc/init.d/nginx start

cd /etc/init.d

chkconfig --add nginx

chkconfig --list nginx

vi /etc/init.d/nginx

修改 # chkconfig: - 85 15

变为 # chkconfig: 2345 85 15

chkconfig --del nginx

chkconfig --add nginx

chkconfig --list nginx

vi /etc/rc.local

注释启动脚本中的nginx的启动

#/opt/nginx/sbin/nginx

vi /opt/nginx/html/index.php

<?php

phpinfo();

?>

八、安装MySQL管理工具phpMyAdmin

下载phpMyAdmin-4.5.0.2-all-languages.zip并上传到服务器

解压zip包需要unzip

yum install unzip

cd ~

unzip phpMyAdmin-4.5.0.2-all-languages.zip

mv phpMyAdmin-4.5.0.2-all-languages /opt/nginx/html/phpMyAdmin

浏览器中访问
http://192.168.56.1/phpMyAdmin 提示缺少mbstring库的支持

需重新编译php,在原有的编译选项后面加上 --enable-mbstring \

具体步骤

cd ~

cd php-5.6.13

make clean

./configure \

--prefix=/opt/php5.6.13 \

--with-config-file-path=/opt/php5.6.13 \

--disable-ipv6 \

--disable-debug \

--disable-rpath \

--enable-fpm \

--with-mysql=/opt/mysql5.6 \

--with-mysql-sock=/opt/mysql5.6/mysql.sock \

--with-mysqli=/opt/mysql5.6/bin/mysql_config \

--with-pdo-mysql=/opt/mysql5.6 \

--with-gd \

--enable-gd-native-ttf \

--with-jpeg-dir \

--with-png-dir \

--with-zlib-dir \

--with-freetype-dir \

--enable-sysvmsg \

--enable-sysvsem \

--enable-sysvshm \

--enable-shmop \

--enable-mbstring \

make -j9

等待 ...

make install

等待 ...

重启php应用服务器

/etc/init.d/php-fpm restart

再次访问http://192.168.56.1/phpMyAdmin

使用root用户登录(默认没有密码) 出现提示:

空密码登录被禁止 (参见 允许空密码)

需要修改phpMyAdmin配置文件

cd /opt/nginx/html/phpMyAdmin

cp config.sample.inc.php config.inc.php

vi config.inc.php 修改相关配置

修改

$cfg['blowfish_secret'] = '';



$cfg['blowfish_secret'] = 'adfdsalksjj123a$'; 任意字符串即可

修改

$cfg['Servers'][$i]['AllowNoPassword'] = false;



$cfg['Servers'][$i]['AllowNoPassword'] = true;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux nginx php mysql centos