公司新项目要在linux下部署,搭建一下java运行环境,记录一下。

一、安装mysql

1去官网下载mysql,下载后并解压,我把mysql安装在/usr/local/mysql路径下



tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz -C /usr/local/mysql


2进入mysql目录,建立data文件夹



[root@localhost local]# cd /usr/local/mysql
[root@localhost mysql]# mkdir data


3新建不能登陆的mysql用户



useradd -r -M -s /sbin/nologin mysql


4修改mysql目录所有者为mysql用户和mysql组



chown -R mysql.mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql


5进入/usr/local/mysql目录,初始化mysql,后面那个是初始密码,要记住



bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data


centos7安装jdk+tomcat+nginx+mysql_Mysql

6复制my.cnf文件,并修改/etc/my.cnf



cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf



centos7安装jdk+tomcat+nginx+mysql_Linux_02

# These are commonly set, remove the # and set as required.
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
character-set-server=utf8
collation-server=utf8_general_ci
default-storage-engine=INNODB
#server_id = .....
# socket = .....


centos7安装jdk+tomcat+nginx+mysql_通用实践_03


7进行mysql.support-files目录,复制mysql.server到/etc/init.d/mysqld,加入开机运行



[root@localhost mysql]# cd support-files/

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld

[root@localhost support-files]# chmod +x /etc/init.d/mysqld

[root@localhost support-files]# chkconfig --add mysqld


查看是否成功



chkconfig --list mysqld


centos7安装jdk+tomcat+nginx+mysql_Linux_04

8mysql加入环境变量



vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
:wq! #保存退出
source /etc/profile #使配置立刻生效


9登录后修改密码



[root@localhost tmp]# service mysqld start
Starting MySQL. SUCCESS!
[root@localhost tmp]# mysql -uroot -p
Enter password:
mysql> SET PASSWORD = PASSWORD('123456');
mysql> flush privileges;


 二jdk安装

1下载jdk,解压并移动到安装路径



tar -zxvfjdk-8u73-linux-x64.tar.gz -C /usr/local/jdk8


2加入环境变量



vi /etc/profile
# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#保存后,执行source /etc/profile使其生效


3验证是否成功java -vsersion

三安装tomcat

1解压并安装到指定路径




​?​



1


2


3


4


5


6


7


8


9


10


11


12


13


14


15



​# 创建用户​


​groupadd tomcat​


​useradd​​ ​​-s ​​​​/bin/bash​​ ​​-g tomcat tomcat​


 


​# 下载:​


​wget http:​​​​//apache​​​​.opencas.org​​​​/tomcat/tomcat-7/v7​​​​.0.68​​​​/bin/apache-tomcat-7​​​​.0.68.​​​​tar​​​​.gz​


​# 解压:​


​tar​​ ​​-zxvf apache-tomcat-7.0.68.​​​​tar​​​​.gz​


​# 复制:​


​cp​​ ​​-R .​​​​/apache-tomcat-7​​​​.0.68 ​​​​/usr/local​


​cd​​ ​​/usr/local/apache-tomcat-7​​​​.0.68​


​# 修改权限:​


​chown​​ ​​-R tomcat:tomcat apache-tomcat-7.0.68​


​# 启动:​


​sh .​​​​/bin/startup​​​​.sh​



2将8080端口添加到防火墙例外并重启




​?​



1


2



​firewall-cmd --zone=public --add-port=8080​​​​/tcp​​ ​​--permanent​


​firewall-cmd --reload​



3访问http://ip/8080

centos7安装jdk+tomcat+nginx+mysql_Linux_05

四安装nginx

安装nginx前,前提是安装了gcc-c++,还要安装一些依赖库

1安装perl



mkdir /usr/local/perl
cd perl5.22
./Configure -des -Dprefix=/usr/local/ perl -Dusethreads -Uversiononly
make
make test
make install


2安装pcre



mkdir /usr/local/pcre
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure --prefix=/usr/local/pcre
make
make install


3安装openssl



centos7安装jdk+tomcat+nginx+mysql_Linux_06

mkdir /usr/local/openssl
tar zxvf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config --prefix=/usr/local/openssl
make
make install
vi /etc/profile
export PATH=$PATH:/usr/local/openssl/bin
:wq!
source /etc/profile


centos7安装jdk+tomcat+nginx+mysql_java经验集锦_07


4安装zlib



mkdir /usr/local/zlib
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/lib/zlib
make
make install


5安装nginx



centos7安装jdk+tomcat+nginx+mysql_java经验集锦_08

#添加用户和用户级
groupadd nginx
useradd -g nginx nginx -s /bin/false
mkdir /usr/local/nginx
tar zxvf nginx-1.6.0.tar.gz
cd nginx-1.6.0
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/root/tool/openssl-1.0.2g/ --with-zlib=/root/tool/zlib-1.2.8/ --with-pcre=/root/tool/pcre-8.37
#注意:--with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35指向的是源码包解压的路径,而不是安装的路径,否则会报错
make
make install


centos7安装jdk+tomcat+nginx+mysql_java经验集锦_09


6



centos7安装jdk+tomcat+nginx+mysql_Centos_10

#添加80端口到防火墙
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
#启动nginx
/usr/local/nginx/sbin/nginx


nginx -s reload :修改配置后重新加载生效

nginx -s reopen :重新打开日志文件

nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

关闭nginx:

nginx -s stop :快速停止nginx

quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx

kill -QUIT 主进程号 :从容停止Nginx

kill -TERM 主进程号 :快速停止Nginx

pkill -9 nginx :强制停止Nginx

 

启动nginx:

nginx -c /path/to/nginx.conf

平滑重启nginx:

kill -HUP 主进程号


centos7安装jdk+tomcat+nginx+mysql_Centos_11


7设置nginx开机启动



centos7安装jdk+tomcat+nginx+mysql_通用实践_12

vi /etc/init.d/nginxd  #编辑启动文件添加下面内容
!/bin/bash

chkconfig: - 85 15

description: Nginx is a World Wide Web server.
processname: nginx
nginx=/usr/local/nginx/sbin/nginx

conf=/usr/local/nginx/conf/nginx.conf
case $1 in

start)
echo -n "Starting Nginx"

$nginx -c $conf
echo " done"

;;

stop)
</span><span style="color: #0000ff;">echo</span> -n <span style="color: #800000;">"</span><span style="color: #800000;">Stopping Nginx</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">killall</span> -<span style="color: #800080;">9</span><span style="color: #000000;"> nginx
</span><span style="color: #0000ff;">echo</span> <span style="color: #800000;">"</span><span style="color: #800000;"> done</span><span style="color: #800000;">"</span><span style="color: #000000;">
;;

test)
$nginx </span>-t -<span style="color: #000000;">c $conf
;;

reload)
</span><span style="color: #0000ff;">echo</span> -n <span style="color: #800000;">"</span><span style="color: #800000;">Reloading Nginx</span><span style="color: #800000;">"</span>
<span style="color: #0000ff;">ps</span> auxww | <span style="color: #0000ff;">grep</span> nginx | <span style="color: #0000ff;">grep</span> master | <span style="color: #0000ff;">awk</span> <span style="color: #800000;">'</span><span style="color: #800000;">{print $2}</span><span style="color: #800000;">'</span> | <span style="color: #0000ff;">xargs</span> <span style="color: #0000ff;">kill</span> -<span style="color: #000000;">HUP
</span><span style="color: #0000ff;">echo</span> <span style="color: #800000;">"</span><span style="color: #800000;"> done</span><span style="color: #800000;">"</span><span style="color: #000000;">
;;

restart)
$</span><span style="color: #800080;">0</span><span style="color: #000000;"> stop
$</span><span style="color: #800080;">0</span><span style="color: #000000;"> start
;;

show)
</span><span style="color: #0000ff;">ps</span> -aux|<span style="color: #0000ff;">grep</span><span style="color: #000000;"> nginx
;;

</span>*<span style="color: #000000;">)
</span><span style="color: #0000ff;">echo</span> -n <span style="color: #800000;">"</span><span style="color: #800000;">Usage: $0 {start|restart|reload|stop|test|show}</span><span style="color: #800000;">"</span><span style="color: #000000;">
;;

esac
:wq! #保存退出

注意(centos7没有killall命令,要先安装,yum install psmisc)
chmod +x /etc/init.d/nginxd #赋予文件执行权限

chkconfig --add nginxd#添加到服务

chkconfig nginxd on #设置开机启动
/etc/init.d/nginxd restart #重启


centos7安装jdk+tomcat+nginx+mysql_Mysql_13


8nginx和tomcat整合,修改nginx配置文件



centos7安装jdk+tomcat+nginx+mysql_通用实践_14

server
{
listen 80;
server_name localhost;
index index.html index.htm index.jsp;#设定访问的默认首页地址
root /home/www/web/ROOT;#设定网站的资源存放路径
#limit_conn crawler </span><span style="color: #800080;">20</span><span style="color: #000000;">;

location </span>/<span style="color: #000000;"> {
index index.html index.jsp;
}

location </span>~ .*<span style="color: #000000;">.jsp$ #所有jsp的页面均交由tomcat处理
{
index index.jsp;
proxy_pass http:</span><span style="color: #008000;">//</span><span style="color: #008000;">192.168.222.128:8080;#转向tomcat处理</span>

}

location </span>~ .*\.(gif|jpg|jpeg|png|bmp|<span style="color: #000000;">swf)$ #设定访问静态文件直接读取不经过tomcat
{
expires 30d;
}

location </span>~ .*\.(js|css)?<span style="color: #000000;">$
{
expires 1h;
}

#定义访问日志的写入格式
#log_format access </span><span style="color: #800000;">'</span><span style="color: #800000;">$remote_addr - $remote_user [$time_local] "$request" </span><span style="color: #800000;">'</span><span style="color: #000000;">
#</span><span style="color: #800000;">'</span><span style="color: #800000;">$status $body_bytes_sent "$http_referer" </span><span style="color: #800000;">'</span><span style="color: #000000;">
#</span><span style="color: #800000;">'</span><span style="color: #800000;">"$http_user_agent" $http_x_forwarded_for</span><span style="color: #800000;">'</span><span style="color: #000000;">;
#access_log </span>/usr/local/nginx/logs/<span style="color: #000000;">localhost.log access;#设定访问日志的存放路径

}</span></pre>