在线课堂开发环境搭建

Maven私服的搭建

1. 下载,通过root用户进去Ubuntu server  
1
2
$cd /opt
$wget http://download.sonatype.com/nexus/oss/nexus-2.10.0-02-bundle.tar.gz
2. 启动

  环境准备,启动nexus,必须先完成JDK环境的配置。

1
2
3
4
5
6
7
  $  cd /opt/
  $  tar -zxvf nexus-2.10.0-02-bundle.tar.gz
  $  cd /opt/nexus-2.10.0-02/bin
  $  vi nexus

  在启动文件nexus中增加nexus的启动用户,否则没权限启动,将报错如下:

  WARNING - NOT RECOMMENDED TO RUN AS ROOT

  If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script

  所以要解决此问题,需要在启动文件nexus,加上RUN_AS_USER=root
    
  保存退出之后,即可启动nexus,命令如下:

1
2
3
4
  $  ./nexus start  
  Starting Nexus OSS...
  Started Nexus OSS.

  表示启动成功,访问地址:http://ip:8081/nexus

3. 配置nexus

  登录nexus,右上角Log In,默认登录用户名密码:admin/admin123

  但是需要将其他几个代理的库配置映射到Public中,分别将Apache Snapshots、Central、Codehaus Sanpshots下Download Remote Indexes选项选择【true】,保存即可,默认是false,如下图

 然后分别将Apache Snapshots、Central、Codehaus Sanpshots更新Index,在每一个库上面右键操作Repair Index  

4.开启开机启动

Mysql搭建

1.安装mysql
1
2
3
4
  1. sudo apt-get install mysql-server
  2. sudo apt-get isntall mysql-client
  3. sudo apt-get install libmysqlclient-dev
  4. mysql -u root -p
2.新建用户开启远程链接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  1. create user 'xinshen'@'%' identified by 'xinshen_mysql';
  2. create database xinshen;
  3. grant all privileges on xinshen.* to 'xinshen'@'%' identified by 'xinshen_mysql' with grant option;
  4. flush privileges;
  5. service mysql stop
  6. service mysql start
```
##### 3.开启开机启动
### tomcat搭建
apt-get install python-software-properties
apt-get install software-properties-common
1.添加ppa
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
2.安装oracle-java-installer
sudo apt-get install oracle-java7-installer
sudo apt-get install oracle-java8-installer
### redis搭建
http://blog.csdn.net/u010286751/article/details/48924635
### FastDFS搭建
官方论坛: http://www.csource.org
下载地址: http://sourceforge.net/projects/fastdfs/files/
github软件仓库
libfastcommon — FastDFS和FastDHT的通用函数库,地址: https://github.com/happyfish100/libfastcommon.git
FastDFS — FastDFS主代码,地址: https://github.com/happyfish100/fastdfs.git
fastdfs-nginx-module — FastDFS的nginx模块,地址:https://github.com/happyfish100/fastdfs-nginx-module.git
Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.9.14
最新的版本可以在这里获取,本文下载的版本是5.08,FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。具体情况大家可以看相关的介绍文档,包括FastDFS介绍PPT等等。
出于简洁考虑,FastDFS没有对文件做分块存储,因此不太适合分布式计算场景。
下载好后,server端分为两个部分,一个是tracker,一个是storage。顾名思义,前者调度管理,负载均衡,后者则是实际的存储节点。两个都能做成集群,以防止单点故障。以前的4.x版本依赖libevent,现在不需要了,只需要libfastcommon。安装方法如下:
1. 安装libfastcommon
```bash
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install
  1. 这时候需要设置环境变量或者创建软链接

    1
    2
    export LD_LIBRARY_PATH=/usr/lib64/
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  2. 解压执行

    1
    2
    3
    4
    tar xzf FastDFS.tar.gz
    cd FastDFS/
    ./make.sh
    /make.sh install

确认make没有错误后,执行安装,默认会安装到/usr/bin中,并在/etc/fdfs中添加三个配置文件。

  1. 修改配置文件
    首先将三个文件的名字去掉sample,暂时只修改以下几点,先让fastdfs跑起来,其余参数调优的时候再考虑。

4.1 tracker.conf 中修改:
base_path=/home/fastdfs #用于存放日志。
http.server_port=8090 ////TODO 这个http.server_port=8888 指的是在tracker服务器上启动http服务进程,如:apache或者nginx 启动时所监听的端口

4.2 storage.conf中修改:
disabled=false #启用配置文件
group_name=group1 #组名,根据实际情况修改
port=23000 #设置 storage 的端口号
base_path=/home/fastdfs #设置 storage 的日志目录(需预先创建)
store_path_count=1 #存储路径个数,需要和 store_path 个数匹配
store_path0=/home/fastdfs/storage #存储路径
tracker_server=120.77.41.162:22122 #tracker 服务器的 IP 地址和端口号
http.server_port=8888 #设置storage上启动的http服务的端口号,如安装的nginx的端口号
[备注]:store_path_count如果有多个,那么需要设置多个存储路径,如:
store_path_count=2
store_path0=/home/fastdfs/storage
store_path1=/home/fastdfs/storage1

4.3 client.conf 中修改:
base_path=/home/fastdfs #用于存放日志。 tracker_server=120.77.41.162:22122 #指定tracker服务器地址。
http.tracker_server_port=8888

#include http.conf
其它保持默认,注意上面那个是1个#,默认是2个#,去掉1个就行
付:
1) tracker.conf说明 http://www.tuicool.com/articles/RjQf22f
2) storage.conf说明 http://www.tuicool.com/articles/fuMJjyf

  1. 拷贝配置文件

    1
    2
    3
    4
    cp -rv /home/yjy/fastdfs/conf/httpd.conf /etc/fdfs/ (如果要用httpserver 或者使用nginx作为文件获取服务器必须要这个文件)
    cp -rv /home/yjy/fastdfs/conf/mime.types /etc/fdfs/
    cp FastDFS(源码解压目录)/conf/anti-steal.jpg /etc/fdfs/
    cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
  2. 开启防火墙:

    1
    2
    3
    4
    firewall-cmd --zone=public --add-port=23000/tcp --permanent
    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --zone=public --add-port=22122/tcp --permanent
    firewall-cmd --reload
  3. 启动tracker和storage

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
netstat –lnp –tcp 参看端口是否起来,默认如果显示22122和8090,23000,80说明服务正常起来

  1. 上传删除测试
    root@ubuntu:~# fdfs_test /etc/fdfs/client.conf upload /home/steven/01.jpg

nginx搭建

  1. zlib 安装
    wget http://zlib.net/zlib-1.2.8.tar.gz
    tar xzf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure –prefix=/usr/local/zlib-1.2.8 && make &&make install
  2. pcre 安装
    wget http://exim.mirror.fr/pcre/pcre-8.38.tar.gz
    tar xzf pcre-8.38.tar.gz
    cd pcre-8.38
    ./configure –prefix=/usr/local/pcre-8.33 –libdir=/usr/local/lib/pcre –includedir=/usr/local/include/pcre && make && make install
  3. openssl
    wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz
    tar xzf openssl-1.0.1e.tar.gz
    cd openssl-1.0.1e
    ./config –prefix=/usr/local/openssl-1.0.1e && make && make install

  4. 添加软连接
    ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
    ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
    ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    为了nginx自启动还需要
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

  5. 下载安装fastdfs-nginx-module
    wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
    tar xzf fastdfs-nginx-module_v1.16.tar.gz

  6. 下载安装nginx
    wget http://nginx.org/download/nginx-1.9.15.tar.gz
    tar xzf nginx-1.9.15.tar.gz
    cd nginx-1.9.15
    ./configure –prefix=/usr/local/nginx –with-pcre=/home/yjy/pcre-8.38 –with-zlib=/home/yjy/zlib-1.2.8 –add-module=/home/yjy/fastdfs-nginx-module/src –with-http_ssl_module –with-openssl=/home/yjy/openssl-1.0.1e –sbin-path=/usr/local/nginx/sbin/nginx && make && make install

  7. 修改nginx扩展模块的配置文件,注意修改的是复制后的文件
      cd ../fastdfs-nginx-module/src
    cp mod_fastdfs.conf /etc/fdfs/
    vi /etc/fdfs/mod_fastdfs.conf
    base_path=/data/fastdfs/storage #保存日志目录
    tracker_server=120.77.41.162:22122 #tracker 服务器的 IP 地址以及端口号
    storage_server_port=23000 #storage服务器的端口号
    group_name=group1 #当前服务器的group名
    url_have_group_name = true #文件url中是否有group 名
    store_path_count=1 #存储路径个数,需要和store_path 个数匹配
    store_path0=/home/fastdfs/storage #存储路径
    group_count = 1 #设置组的个数
    #然后在末尾添加分组信息,目前只有一个分组,就只写一个
    [group1]
    group_name=group1
    storage_server_port=23000
    store_path_count=1
    store_path0=/home/fastdfs/storage

  8. 做M00的链接
    ln -s /home/fastdfs/storage/data /home/fastdfs/storage/data/M00

  9. 修改nginx的配置文件
    备注:如果nginx有其他服务器在用,在nginx.conf原有的基础上追加一个下面server的配置即可
    vi /usr/local/nginx/conf/nginx.conf
    server {
      listen 8888;/注意端口和trackerServer一样
      location / {
        root /home/fastdfs/storage/data;
        index index.html index.htm;
       }
      location /group1/M00 {
         root /home/fastdfs/storage/data;
        ngx_fastdfs_module;
      }
    }

    1. 重启相关服务,验证整合是否成功
      先重启storage服务:
      /etc/init.d/fdfs_storaged start
      然后再启动nginx,
      注意顺序,否则会报端口占用的错误
      ./usr/local/nginx/sbin/nginx

查看端口使用情况:
netstat -lnp –tcp
如何让server进程退出运行?
直接kill即可让server进程正常退出,可以使用killall命令,例如:
killall fdfs_trackerd
killall fdfs_storaged
也可以使用如下命令:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
千万不要使用-9参数强杀,否则可能会导致binlog数据丢失的问题。

如何重启server进程?
直接使用:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

  1. 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 主进程号

proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;