centos上配置java + tomcat + nginx + mysql+ php

centos上配置java + tomcat + nginx + mysql+ php
准备
安装开发包和库文件
# yum install epel-release
# yum -y install gcc gcc-c++ make cmake imake autoconf automake libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libtidy libtidy-devel libxml2 bzip2-devel openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-devel libtiff-devel pam-devel curl curl-devel gettext-devel freetype freetype-devel gd gd-devel zlib zlib-devel libxml2-devel screen sysstat compat-libstdc++-33 flex bison ntp

一、 配置java环境
官方下载页面 http://www.oracle.com/technetwork/java/javase/archive-139210.html , 下载相应的版本安装
也可以使用yum安装, 安装之前查看下centos系统自带的java并卸载掉,然后用yum重新安装

1.1 查看当前系统自带的java环境
# rpm -qa |grep java
tzdata-java-2017b-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch

1.2 卸载掉系统自带的java环境
# yum remove java-1.8.0-*

1.3 重新安装java8
# yum install java-1.8.0-*
由于java是通过yum的方式来安装的,不用配置环境变量
# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

二、安装Tomcat
2.1 从官方下载相应版本的tomcat , 如 apache-tomcat-8.5.9.tar.gz ,并解压到/usr/local/apache-tomcat-8.5.9

2.2 配置tomcat8环境变量
因tomcat的运行必须要有jre, 需要java环境做支撑,在给tomcat配置环境变量的时候,需要用到java的环境变量, yum安装的java其家目录在/usr/lib/jvm/目录下,java运行环境是需要jvm。
若没有安装JAVA,直接运行tomcat会报错:
“ Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program ”
意思是未定义JAVA HOME和JRE HOME环境变量,运行此程序至少需要这些环境变量中的一个。
# vi /etc/profile
在文件末尾添加如下内容:

1
2
3
4
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
export CATALINA_HOME=/usr/local/apache-tomcat-8.5.9
export CLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/jre/lib:$CATALINA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$CATALINA_HOME/bin

重新加载环境变量配置
# . /etc/profile

2.3 执行catalina.sh 脚本来启动tomcat服务
# /usr/local/apache-tomcat-8.5.9/bin/catalina.sh start
默认端口是8080 , 可以通过" http://ip:8080" 来访问tomcat默认页面。

三、安装Nginx
1,安装支持软件
nginx的配置及其运行需要pcre,zlib等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保nginx的安装能顺利完成。
# yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
2,创建运行用户、组
# groupadd www
# useradd -M -g www www -s /sbin/nologin

3,解压nginx包后编译安装

1
2
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-file-aio --with-http_stub_status_module \
--with-http_gzip_static_module --with-http_flv_module --with-http_ssl_module

# make&&make install

4,为nginx创建链接文件,以便管理员直接执行nginx命令就可以调用nginx的主程序
# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/nginx
5,nginx的启动和停止
# nginx //启动
# nginx -s stop //停止

四、安装mysql
1、从mysql官方下载
# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.15.tar.gz
2、解压,安装前编译,安装
# tar -zxvf mysql-5.5.15.tar.gz
# cd mysql-5.5.15

1
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc

# make&&make install
3、优化调整
# cp support-files/my-huge.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
4、初始化数据库
# groupadd mysql
# useradd -M -s /sbin/nologin mysql -g mysql
# chown -R mysql:mysql /usr/local/mysql
# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
5、启动mysql服务
# service mysqld start
# mysqladmin -u root password lcyyang2017.aa //比如将mysql管理员密码设置成lcyyang2017.aa

五、编译安装PHP
1、从php官方网站下载相应版本的php软件包
如我这里面下载的php版本是php5.5.38
http://at1.php.net/distributions/php-5.5.38.tar.gz
2、编译
解压软件包后进行安装前的编译

1
#  ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-fpm --with-jpeg-dir=/usr/lib

3、安装
# make && make install
4、安装后的调整
# cp /root/php-5.5.38/php.ini-development /usr/local/php5/etc/php.ini
# ln -s /usr/local/php5/bin/* /usr/local/bin/
# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

4、配置Nginx支持php环境
4.1、配置php-fpm
要让nginx解析php网页,可以有两种方法选择:其一,充当中介,将访问php页面的web请求转交给其他服务器如(LAMP)去处理;其二,通过使用PHP的FPM模块来调用本机的php环境。
如果要选用FPM方式,则需要先启动php-fpm进程,以便侦听php解析请求。参考php-fpm.conf.default范例文件建立php-fpm.conf配置文件,并修改其中的PID文件、运行用户、服务数(进程数量)等相关设置。
然后启动php-fpm程序即可(默认侦听本机的9000端口)
# cd /usr/local/php5/etc/
# ls
pear.conf php-fpm.conf.default
# cp php-fpm.conf.default php-fpm.conf
# vi php-fpm.conf
需要开启的参数有
pid = run/php-fpm.pid //确认pid文件位置
user = www //运行用户
group = www //运行组
pm.start_servers = 20 //启动时开启的进程数
pm.min_spare_servers = 5 //最少空闲进程数
pm.max_spare_servers = 35 //最多空闲进程数
pm.max_children = 50
# ln -s /usr/local/php5/sbin/php-fpm /usr/local/sbin/php-fpm
# /usr/local/sbin/php-fpm
# netstat -anpt|grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 4916/php-fpm: maste

4.2、配置nginx支持php解析
编辑nginx主配置文件nginx.conf
# vi /usr/local/nginx/conf/nginx.conf
user www; //指定用户www
worker_processes 1;
...... 省略
location / {
root /usr/local/nginx/html/web; //程序文档路径
index index.html index.htm index.php;
}
location /status {
stub_status on;
access_log off;
} //nginx访问状态统计
...... 省略
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/local/nginx/html/web; //程序文档路径
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $Document_Root$fastcgi_script_name;
include fastcgi_params;
}
..... 省略
include /usr/local/nginx/vhost/*.conf; //nginx虚拟主机配置文件
}
保存nginx.conf配置文件,重新启动nginx和php-fpm服务
# nginx -s stop //停止nginx服务
# nginx //启动nginx
# killall -s QUIT php-fpm //结束掉php-fpm服务进程
# /usr/local/sbin/php-fpm //启动php-fpm服务

附录:
1、nginx 重载配置命令
# killall -s HUP nginx
2、nginx多站点配置样例
配置文件路径:/usr/local/nginx/vhost/cacti.conf
配置文件内容如下
server {
listen 8090;
server_name localhost;
access_log /cacti/cacti.log;
location / {
root /cacti;
index index.php index.html index.htm;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
root /cacti;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $Document_Root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}

}

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部