执行命令查看:
rpm –qa | grep java
卸载OPENJDK:
[root@dcy /]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686
[root@dcy /]# rpm -e --nodepsjava-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
在/usr/local/ 创建文件夹java
mkdir java
使用day29中的软件包中的FileZilla-3.7.3软件直接点开使用.
将本地的文件复制到Linux的root环境中.
cd ~
ll 可以查看到复制到Linux 目录root下的jdk文件
首先需要安装依赖:
yum install glibc.i686 需要网络
tar –xvf xxx.tar.gz –C /usr/local/java
解压完成后进入/usr/local/java可以看到jdk1.7.0_71的文件
vim /etc/profile 进入编辑配置环境变量,将下面的语句加到文件最后一行
#setjava environment
JAVA_HOME=/usr/local/java/jdk1.7.0_71
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
exportJAVA_HOME CLASSPATH PATH
黏贴上后按esc再加上冒号wq回车,完成编辑.
cd ~ 回到root目录后重新加载配置文件:
执行source/etc/profile
至此完成jdk的安装, 输入java命令检查成功否.
与上传jdk方式相同拖拽进Linux即可.
rpm –qa | grep mysql 查看自带的mysql,把查询的名字复制到下面的语句中执行卸载.
[root@dcy ~]# rpm –e --nodeps mysql-libs-5.1.73-5.el6_6.i686
总体流程:
Mkdir mysql
tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.tar-C /usr/local/mysql
yum -y install libaio.so.1 libgcc_s.so.1libstdc++.so.6
yum update libstdc++-4.4.7-4.el6.x86_64
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
service mysql status
service mysql start
产生一个随机的密码存放在/root/.mysql_secret
所以我们进到文件中复制密码:
[root@dcy~]# vim .mysql_secret
查看密码进行登录:
msyql –u root -p
修改密码:
set password = password('123456');
至此已经可以使用mysql数据库了,但是还不能远程访问mysql
如果已经进入mysql了要exit先进到Linux目录中.再执行下面的两句
加入到系统服务:
chkconfig --add mysql
自动启动:
chkconfig mysql on
下面第一句是设置权限,第二句是刷新权限
首先登录mysql:
grant all privileges on *.* to 'root' @'%'identified by '123456';
flush privileges;
此时还是连接不上Linux的mysql,还需要处理防火墙
第一句是:将3306端口添加到防火墙放行该端口(再次启动后无法再次放行)
第二句是:将这个放行设置永久的保存到防火墙中.
/sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT
/etc/rc.d/init.d/iptables save
奇怪的事:使用SQLyog登录Linux中的mysql数据库, 使用我改过的密码登录报错 , 但是使用123456的密码的时候就能登录上.
也是软件工具中直接拖入root目录即可.
进入到/usr/local 下创建文件夹
mkdir tomcat
tar –xvf xxx.tar.gz –C /usr/local/tomcat
要先进到根路径下执行下面的设置命令:
cd ~
/sbin/iptables -I INPUT -p tcp --dport 8080 -jACCEPT
/etc/rc.d/init.d/iptables save
说明:windows中执行的是bat后缀的, 但是Linux中是执行sh后缀名的脚本.
进入到tomcat/bin
执行 ./startup.sh 或者 sh startup.sh
关闭tomcat
执行 ./shutdown.sh
方法一:
使用命令备份:
mysqldump –u root -p mystore > c:/mystore.sql
方法二:
使用可视化工具:
直接右键备份导出 , 以SQL转储….就可以生成一个sql文件.此次导出的文件名叫做mystore .
方法一:
进入数据库后先建立一个数据库,
Create database mystore ;
use mystore
source /root/mystore.sql
show tables ; 就能查看到已经将数据库导入成功.
方法二: 此外还可以在可视化SQLyog中还原数据库.
配置项目下的C3p0文件的数据库连接信息.
进入到tomcat下的webapps中的对应项目的c3p0文件
[root@dcy apache-tomcat-7.0.57]# cd webapps/
[root@dcy webapps]# ll
总用量 36344
drwxr-xr-x. 14 root root 4096 9月 28 02:24 mystore_2.0
[root@dcywebapps]# cd mystore_2.0
[root@dcy mystore_2.0]# ll
总用量 56
drwxr-xr-x. 4 root root 4096 9月 28 02:24 WEB-INF
[root@dcy mystore_2.0]# cd WEB-INF/
[root@dcy WEB-INF]# ll
总用量 16
drwxr-xr-x. 3 root root 4096 9月 28 02:42 classes
[root@dcyWEB-INF]# cd classes/
[root@dcy classes]# ll
总用量 16
-rw-r--r--. 1 root root 705 9月 28 02:42 c3p0-config.xml
[root@dcyclasses]# vimc3p0-config.xml
配置好之后再关闭tomcat重启tomcat生效.
需要在一台电脑模拟:在E盘解压两个tomcat,分别命名为tomcat1,tomcat2.
修改tomcat2中conf目录下的server.xml文件中的端口:
1.将原来的关闭的端口8005端口改为8006
2.将启动的端口8080改为8081
将项目war文件直接放到tomcat的webapps目录下就行.
解压
双击nginx.exe
启动完以后访问http://localhost 或者localhost:80因为80是默认端口所以可以不用输入.显示如下页面表示安装成功.否则没有.
另外可以在进程中看到有连个nginx的进程也表示安装成功了,
其中我遇到启动exe后进程中没有nginx的情况,此时用右键管理员权限启动exe的nginx程序就可以了.
修改nginx/conf/nginx.conf文件:
upstream server_lb{
serverlocalhost:8080;
serverlocalhost:8088;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://server_lb;
index index.html index.htm;
}
以上配置完成后,
在cmd窗口中重新加载配置文件.
Nginx –s reload
此时只需要在浏览器中输入localhost就可以进入到tomcat的主页了, 而不再需要输入localhost:80.可以通过localhost/test1访问到我们的两个项目了
我遇到的问题;
问题一: nginx:[alert] could not open error log file: CreateFile() "logs/error.log"failed (5: Access is denied)
设置nginx文件夹的属性, 安全标签中设置权限为允许..fuck
问题二:nginx:[error] OpenEvent("Global\ngx_reload_9780") failed (5: Access isdenied) 干掉 nginx进程, 重新启动nginx, 然后执行重新加载配置命令.
分布式用到session共享:不同功能模块分布在不同的服务器上,所以用户在提交数据的时候另一台机器上没有相应的session信息,所以需要session共享.
一种解决办法:一个用户进来以后只在tomcat1上进行操作,另一个用户进行只在tomcat2上进行操作.
在配置中可以设置固定IP实现用户只在一个机器上访问 , 还可以设置服务器的权重.
2.session的共享
一种使用tomcat广播机制完成session的共享(不推荐的方式)
一种使用redis服务器的方式完成session的共享(推荐的方式)
修改两个tomcat中的server.xml:
在项目中web.xml中添加一个配置:
分别解压tomcat到/usr/local/tomcat1 和 tomcat2
:配置tomcat2的3个端口信息 , 与在windows系统下修改的文件一样.
[root@dcy apache-tomcat-7.0.57]# cd /usr/local/tomcat2/apache-tomcat-7.0.57/
[root@dcy apache-tomcat-7.0.57]# ll
[root@dcy apache-tomcat-7.0.57]# cd conf
[root@dcy conf]# ll
总用量 204
-rw-------. 1 root root 6613 9月 28 02:47 server.xml
[root@dcy conf]# vim server.xml
修改一下三行的内容:
***** 将修改后的端口添加到防火墙中.
要先进到根路径下执行下面的设置命令:
cd ~
/sbin/iptables -I INPUT -p tcp --dport 8088-j ACCEPT
/etc/rc.d/init.d/iptables save
通过FileZilla可视化软件将项目的war或者项目文件放到前面创建的tomcat1和tomcat2中的webapps中
修改项目下的C3p0文件的数据库连接信息.
进入到tomcat下的webapps中的对应项目的c3p0文件
[root@dcy apache-tomcat-7.0.57]# cd webapps/
[root@dcy webapps]# ll
总用量 36344
drwxr-xr-x. 14 root root 4096 9月 28 02:24 mystore_2.0
[root@dcy webapps]# cd mystore_2.0
[root@dcy mystore_2.0]# ll
总用量 56
drwxr-xr-x. 4 root root 4096 9月 28 02:24 WEB-INF
[root@dcy mystore_2.0]# cd WEB-INF/
[root@dcy WEB-INF]# ll
总用量 16
drwxr-xr-x. 3 root root 4096 9月 28 02:42 classes
[root@dcy WEB-INF]# cd classes/
[root@dcy classes]# ll
总用量 16
-rw-r--r--. 1 root root 705 9月 28 02:42 c3p0-config.xml
[root@dcy classes]# vim c3p0-config.xml
此时就已完成了两个tomcat的项目发布.
Nginx
Nginx("engine x") 是一个高性能的 HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 服务器。
很多大网站都是使用nginx做反向代理,应用非常广泛。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
1、http服务器,可以做静态网页的http服务器。
2、配置虚拟机。
一个域名可以被多个ip绑定。可以根据域名的不同吧请求转发给运行在不同端口的服务器。
3、反向代理,负载均衡。把请求转发给不同的服务器。
官方网站:http://nginx.org/
最后的一个稳定版本:1.8.0版本。有两个版本windows版本和linux版本。生产环境都是使用linux版本。
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境。
n gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
n PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
yum install -y pcre pcre-devel
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
n zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
n openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
第一步:把nginx的源码包上传至linux服务器
第二步:解压源码包到指定文件夹。
[root@dcy~]# cd /usr/local/
[root@dcylocal]# mkdir nginx
[root@dcylocal]# cd ~
[root@dcy~]# tar -zxf nginx-1.8.0.tar.gz -C/usr/local/nginx
或者tar -xvf nginx-1.8.0.tar.gz -C /usr/local/nginx 指令也可以
第三步:进入nginx-1.8.0文件夹。使用configure命令创建makefile。
./configure
第四步:参数设置如下:
./configure
--prefix=/usr/local/nginx\ 使用configure没指定路径是默认解压到此路径
--pid-path=/var/run/nginx/nginx.pid\
--lock-path=/var/lock/nginx.lock\
--error-log-path=/var/log/nginx/error.log\
--http-log-path=/var/log/nginx/access.log\
--with-http_gzip_static_module\
--http-client-body-temp-path=/var/temp/nginx/client\
--http-proxy-temp-path=/var/temp/nginx/proxy\
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi\
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
第五步:make
第六步 make install
然后返回nginx的路径就可以看到安装上几个路径,表示安装成功了
在nginx目录下有一个sbin目录,sbin目录下有一个nginx可执行程序。
./nginx就可以执行启动nginx了.下面我们还查看一下进程
[root@dcy local]# cd ./nginx/nginx-1.8.0/
[root@dcy nginx-1.8.0]# ll
总用量 660
drwxr-xr-x. 2 1001 1001 4096 9月 28 03:32 conf
[root@dcy nginx-1.8.0]# cd conf
[root@dcy conf]# ll
总用量 36
-rw-r--r--. 1 1001 1001 2656 4月 21 2015 nginx.conf
[root@dcy conf]# vim nginx.conf
修改的内容如下:
upstream server_lb{
server localhost:8080;
serverlocalhost:8088;
#ip_hash; fuck#是注释的意思
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_passhttp://server_lb;
index index.html index.htm;
}
保存完以后一定要进到sbin中重新加载配置文件:
[root@dcy nginx]# cd sbin
[root@dcy sbin]# ./nginx -s reload
[root@dcy sbin]#
/sbin/iptables -I INPUT -p tcp --dport 80-j ACCEPT
/etc/rc.d/init.d/iptables save
关闭命令:相当于找到nginx进程kill。
./nginx -s stop
退出命令:
./nginx-s quit
等程序执行完毕后关闭,建议使用此命令。
./nginx-s reload
可以不关闭nginx的情况下更新配置文件。
补充oracle的工具PLSQL Developer正确配置后可能出现登录时没有数据库下拉列表的问题:
打开软件界面的help-about 点击叹号查看其中的TNS FIle配置,将我的电脑的环境变量如下的TNS_ADMIN中配置的路径与之相同即可.