安装篇

注意:Ubuntu权限问题

(1)若无法执行某条命令,可能是权限不够,就在命令前面加个sudo 试试

(2)但是注意在新建文件夹时候 如果必须使用sudo,那么新建以后一定要把文件夹的权限改为当前登录用户的,而不是root的。修改方式如下:

sudo chown -Rf zqgame:zqgame /home/zqgame/testWeb/

zqgame为当前登录用户名 /home/zqgame/testWeb/为要修改权限的目录路径

安装ubuntu

在VirturalBox下安装 ubuntu-12.10-server-i386.iso(环境选择英文环境)

安装成功后做如下配置:

1.查看ip 做主机IP与虚拟机IP映射

Ifconfig 查看ip

然后将虚拟机上点击网络选择nat,高级—》 点击端口转发—》将主机ip映射到虚拟机的linux ip

2.更新源

(1)修改sources.list   vi /etc/apt/sources.list

      :%s/xxxx1/xxxx2/g 将xxx1替换为mirrors.163.com(xxx2)然后wq保存退出

(更新源) apt-get update

3.安装ssh服务

可以通过apt安装,命令如下:

xjj@xjj-desktop:~$ apt-get install openssh-server

系统将自动进行安装,安装完成以后,先启动服务:

xjj@xjj-desktop:~$ /etc/init.d/ssh start

启动后,可以通过如下命令查看服务是否正确启动

@xjj-desktop:~$ ps -e|grep ssh

6212 ?        00:00:00 sshd

如上表示启动ok。

下面是改变端口的(可以不改,依情况而定)

注意,ssh默认的端口是22,可以更改端口,更改后先stop,

然后start就可以了。改配置在/etc/ssh/sshd_config下,如下所示。

xjj@xjj-desktop:~$ vi /etc/ssh/sshd_config

# Package generated configuration file

# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for

Port 22

# Package generated configuration file

# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for

Port 22

最后,应该是连接的时候了。请看如下命令:

xjj@xjj-desktop:~$ ssh exceljava@192.168.158.129

xjj@xjj-desktop:~$ vi /etc/ssh/sshd_config(端口部分可改可不改,依具体情况而定)

另:如果要在服务器实体终端显示中文,那就只有安装zhcon软件包
$ apt-get install zhcon

4.安装gcc

apt-getinstallbuild-essential

安装完了可以执行
gcc--version
的命令来查看版本,输出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.

安装jdk

首先下载jdk.tar.gz:

安装配置方法1:

解压jdk

$sduo tar zxvf jdk-7-linux-i586.tar.gz

创建jvm文件夹并将解压后的jdk1.7.0移动到这个文件夹里

zqgame2@zqgame2:/usr/lib$ mkdir jvm

zqgame2@zqgame2:/usr/lib$ cd jvm

zqgame2@zqgame2:~$ mv jdk1.7.0/ /usr/lib/jvm/

zqgame2@zqgame2:~$sudo chown -Rf root:root /usr/lib/jvm/jdk1.7.0/ 赋予root权限

配置jdk环境变量

添加环境变量

$ sudo vim ~/.bashrc

  加入如下内容

export JAVA_HOME=/usr/lib/jvm/java 
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

  4、配置默认JDK版本

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/bin/java 300  sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/bin/javac 300  sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java/bin/jar 300   sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java/bin/javah 300   sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java/bin/javap 300

  然后执行

sudo update-alternatives --config java

  若是初次安装 JDK, 将提示

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java/bin/java
无需配置。

  若是非初次安装,将有不同版本的 JDK 选项。

  5、测试

$ java -version
java version "1.7.0_21"Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)

方法2(centos):

   解压jdk到/usr/lib/jvm,(目录任意).

   配置sudo vim /etc/profile(这里是修改这个文件)

   在文件最后面加入如下内容:

      #set java environment

      JAVA_HOME=/usr/lib/jvm/java1.7

      export JRE_HOME=/usr/lib/jvm/jdk1.7/jre

      export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

      export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

保存,重启linux。ok

安装Mysql-server

直接在linux下下载安装( apt-get install -y mysql-server它自己会找一个默认的版本将其下载安装,有些软件需要先下载再安装)

apt-get install -y mysql-server 回车下载安装,安装过程中会弹出提示输入mysql登录用户名和密码我这里输入的都是root

安装完成后测试输入mysql

看能不能进入mysql,能就表示安装好了,然后启动和关闭mysql用

zqgame2@zqgame2:~$ service mysql stop 关闭

zqgame2@zqgame2:~$ service mysql start 启动

新建数据库bwzqgame

create database bwzqgame;

创建mysql用户(例:zquser)同时设置密码为123456,并zqgameweb_bw数据库 的权限赋予该用户

新建用户grant all on bwzqgame.* to bwzquser@'localhost' identified by '123456';

刷新系统权限表flush privileges;

这样就创建了一个名为:bwzquser密码为:123456 的用户,并获得了bwzqgame数据库的所有权

然后登录一下。

mysql>exit;

@>mysql -u bwzquser-p

@>输入密码 123456

mysql>登录成功

查看数据库是否在此用户下:

mysql>show databases;

mysql>exit;

解决mysql-server中文乱码

数据库中,使用

show variables like "char%" 查看字符编码

发现 character_set_database latin1

   character_set_server latin1

导致数据库存储中文时出现乱码

修改配置文件  /etc/mysql/my.cnf  在client和mysqld中以添加下两个部分

[client]下

default-character-set=utf8

[mysqld]

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

重启动mysql:/etc/init.d/mysql restart

测试以下中文看看还是不是乱码


centos7移除了mysql包,所以这里按照此链接安装:

http://www.cnblogs.com/starof/p/4680083.html

安装tomcat6

(1)(先下载再安装)下载

zqgame2@zqgame2:~$ wget http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz

(2)解压 tar xvzf apache-tomcat-6.0.36.tar.gz

(3)移动tomcat mv apache-tomcat-6.0.36 /usr/local/

4)开启关闭tomcat

开启 /usr/local/apache-tomcat-6.0.36/bin startup.sh

关闭 /usr/local/apache-tomcat-6.0.36/bin shutdown.sh

(5)在tomcat6里部署web项目,假设这里我的web项目放置在根路径/home/zqgame2/下项目名称叫做testweb,那么我们只需要修改tomcat的server.xml文件(至于端口什么的这里默认8080)如下:

打开文件 vim /usr/local/apache-tomcat-6.0.36/conf/server.xml

在</host>上面添加一行

<Context path="" docBase="/home/zqgame2/testweb" reloadable="false" crossContext="true" />

保存退出,重启tomcat

注意:Tomcat7与tomcat6稍微有些不同,配置如下

(1)下载 tomcat7

wget http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.35/bin/apache-tomcat-7.0.35.tar.gz

(2)解压 tar xvzf apache-tomcat-7.0.35.tar.gz

(3)进入conf目录下的tomcat-users.xml文件在后面添加用户

<role rolename="manager-gui"/>

<role rolename="manager-script"/>

<role rolename="manager-jmx"/>

<role rolename="manager-status"/>

<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

(4)部署项目

进入conf目录下的server.xml文件 将原来的<Host>注掉然后添加如下

<Host name="xxx.zqgame.com" appBase="webapps" unpackWARs="true" autoDeploy="true" debug="0">

            <Context path="" docBase="/data/zqgameapi/webapps/" reloadable="true" crossContext="true" />

     </Host>

xxx.zqgame.com为域名,/data/zqgameapi/webapps/为项目原始路径

最后注意如果是在虚拟机里装的linux那么要对tomcat做端口映射

如下图:

安装Nignx

https://www.digitalocean.com/community/articles/how-to-install-nginx-on-ubuntu-12-04-lts-precise-pangolin(这个帖子很好,前提是Ubuntu安装了build-essential)

我这里安装的步骤是:

apt-get install nginx(安装nginx)

service nginx start (开启nginx)

ifconfig eth0 | grep inet | awk '{ print $2 }'(查看本机Ip也可以是ifconfig)

update-rc.d nginx defaults (设置nginx开机启动成功了回提示System start/stop links for /etc/init.d/nginx already exist)

这里nginx被安装到了/etc/目录下

测试nginx是否安装成功:

开启nginx服务,在命令行下输入links 刚才查询到的本机ip回车

如果看到Welcome to nginx 则说明安装成功

注意:这里links可能提示没有安装,那就先安装links( apt-get install links)

配置nginx与tomcat集群

(1)解压两个tomcat我这里都放在了/usr/local下,一个叫/user/local/tomcat1,一个叫/user/local/tomcat2

然后修改tomcat2的server.xml文件的端口,这里端口设置为8081,其他的什么8005,8009只要设置跟tomcat1的不一样就可以了。

然后在tomcat1的server.xml里配置一个测试的项目teseweb1,

在tomcat2的server.xml里配置一个测试的项目testweb2

(这两个项目我只是用来测试nginx是不是能够帮我做跳转,所以里面我都放了一个简单的html)

Server.xml在最后面的</host>上加上一个

Tomcat1:<Context path="" docBase="/home/zqgame2/testweb1" reloadable="true" crossContext="true" />

Tomcat2:<Context path="" docBase="/home/zqgame2/testweb2" reloadable="true" crossContext="true" />

其中/home/zqgame2/为项目路径

(2)配置nginx

进入nginx ,我这里nginx被安装在了/etc下

cd /etc/nginx

vim nginx.conf

将svn上的那个nginx.cnf的内容替换成这里的。保存退出,重启tomcat1,tomcat2,nginx

(3)在virbox 下做端口映射(我这里是在虚拟机里安装的ubuntu,所以要这一步,如果直接是ubuntu那就不用了)

如下图

最后打开window下的host文件,将nginx.conf文件里的那个域名 配置上去就可以了,然后输入http://域名.8085访问,多次刷新看看是不是进入不同的项目,这样就可以测试nginx有没有起到作用了

配置static IP,配置DNF

配置static IP
vim /etc/network/interfaces

A回车

# iface eth0 inet dhcp 自动获取IP

加入iface eth0 inet static

    address 10.0.2.15

    netmask 255.255.255.0

    gateway 10.0.2.1

配置dnf

vim /etc/resolv.conf

A回车

加入

nameserver 202.96.134.133

Nameserver 8.8.8.8

Nameserver 8.8.4.4

(多加几个,我开始只加了8.8.8.8和8.8.4.4结果无法做apt-get install)

ifup eth0

ifdown eth0

/etc/init.d/networking restart(或者 service networking restart)重启network服务

Linux(Ubuntu)常用命令篇

shutdown -h now 关机

reboot 重启

 wget http://ssss下载命名wget

apt-get install xxx 安装命名apt-get install

创建,删除,移动文件,文件夹

rm jdk-7u11-linux-i586.tar.gz 删除文件

mkdir 目录名创建一个目录

rmdir 空目录名删除一个空目录

rm 文件名 文件名删除一个文件或多个文件

rm -rf 非空目录名删除一个非空目录及其目录内的一切

mv jdk1.7.0/ /usr/lib/jvm/ 移动jdk1.7.0 到jvm下,这里整个jdk1.7.0文件夹都被剪切到jvm目录下了

加压解压

Zip包

zip -r archive_name.zip directory_to_compress 对directory_to_compress压缩为archive_name.zip

unzip archive_name.zip 解压zip文件到本路径

tar.gz包

tar -zcvf archive_name.tar.gz directory_to_compress 加压

sduo tar xvfarchive_name.tar.gz 解压(或zxvf)

给文件夹赋予root权限

chown -Rf root:root /usr/lib/jvm/文件夹/ 赋予root权限

开启关闭服务

进入tomcat的bin目录./startup.sh  开启tomcat

进入tomcat的bin目录./shutdown.sh  关闭tomcat

service mysql stop 关闭

service mysql start 启动

Vi常用命名

Vi/vim wenjian以vi方式打开文件(命令模式)

A回车进入编辑模式(光标下一个位置),S回车进入编辑模式(光标当前位置)

编辑完成了以后,按esc进入命令模式,在按:Wq保存并退出,:q!不保存

查找文件 find命令:

/$ find /* -name 文件名

解压缩zip包 在zip包路径下 执行 unzip pcre-8.30.zip   回车自动解压

rm -rf /home/www/WEB-INF/view/ 删除一个文件夹及其所有内容

cp /home/view/ /home/www/WEB-INF/ -rf 拷贝一个文件夹及其所有内容到另一个文件夹里

将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user1目录本身。

cp -Rf /home/user1/* /root/temp/ 拷贝一个文件夹里所有内容到另一个文件夹里 但本身并不被拷贝

删除一个文件夹及其所有子文件夹下的指定文件或文件夹命令如下:(例如删除所有css文件)

进入最上级文件夹,在里面输入下面命令

Find 空格 . 空格 -name 空格'*.css' 空格 –exec 空格 rm 空格 –rf 空格:{} 空格 \;

jar -xvf project.war 解压war

解包到指定的目录

tar xvf filename.tar -C /dir dir为目录名称

mv命令(移动和重命名)

mv 源目录 目的目录

mv 源名称 目的名称

查看端口是否被占用

sudo fuser -v 8080/tcp

杀死被占用的端口进程

Kill -9 PID

查看所有被占用的网络端口

netstat -tulpn

总结:对于ubuntu下安装软件我认为就这三种方式:

(1)直接 apt-get install 安装对象 (这种方式需要有正确有效的源来支持和对象本身支持这种安装方式,mysql-server就可以这样安装)

(2)先下载再安装

Wget http://下载地址这种方式有时候也是没办法下载

(3)最牛叉的就是直接在window下将其下载下来,然后再通过ssh上传到linux目录下

另:mvn打包项目:在eclipse中点击run 找到maven install运行即

Ubuntu下卸载软件(以卸载nginx为例)

sudo rm -rf /etc/nginx/
sudo rm -rf /usr/sbin/nginx
sudo rm /usr/share/man/man1/nginx.1.gz
sudo apt-get remove nginx*
(此种卸载命令适用于apt-get安装的,这个叫做反安装)


vim下复制,粘贴,选择命令

(都是在默认模式下)

复制篇

复制一整行 yy或Y

复制n行  nyy或nY

任意选择块

ctrl+v(或者v) -->选择你所要复制的内容-->y    ctrl+v是以块为单位所以没有直接v来的方便

粘贴篇

粘贴用p

直接p会将最新被复制到寄存器里的内容粘贴出来,如果想获得前几次复制的内容那么就用np

(n为内容在寄存器里的位置,可以用:reg查看)


替换文件夹及所有子文件夹下的文件里的字符串为新的字符串命令如下:

比如:将文件夹A下及其子文件夹下的所有文件里含有xxx的字符串替换为yyy字符串:

sed -i "s/xxx/yyy/g" `grep xxx -rl /A` (注意这里的grep必须用tab键上的那个`号,还有就是对字符串里包含的特殊字符做转义,比如对/,&等,前面加上个\转意符就可以了)


window下使用psftp.exe上传文件到linux下:

cmd-》进入psftp.exe目录

执行psftp.exe回车-》执行:open ip:port =》输入用户名密码=》回车

put E:\tools.txt =》回车 (将tools.txt文件上传到了linux用户根目录下)