Ansible实战[目录]
Nexus搭建Maven私服[下篇]——Nexus使用

Nexus搭建Maven私服[上篇]——Nexus安装


登录Nexus

点击右上角的login,输入账号密码即可登录,初始账号密码为admin/admin123
21.png

管理仓库

点击左边的Repositories即可打开仓库管理页面
22.png

仓库类型

Nexus中有四种仓库类型group,hosted,proxy,virtual,这里我们不关心virtual,只介绍下另外三种类型:

  • hosted 本地仓库,通常我们会部署自己的构件到这一类型的仓库。
  • proxy 代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
  • group 仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组。

23.png

Nexus预定义的仓库

Nexus预定义了Public Repositories、3rd Party、Central、Releases、Snapshots这几个主要的分支(不同版本的Nexus对应的名称会有一点差异),主要作用如下:

  • Public Repositories 这是一个group类型的仓库,一般情况下里边包含了其他所有仓库,这样做的好处是我们在maven的pom.xml中只需配置一个仓库链接即可,无需针对所有仓库单独配置。
    在PublicRepositories的Configuration页中可以看到包含的仓库组,通过调整顺序可以更改优先匹配的仓库
    24.png
  • Central 这是proxy类型的,代理的是https://repo1.maven.org/maven2/,也就是Maven中央仓库
  • 3rd Party 用于部署第三方构件,有些构件如Oracle的JDBC驱动,我们不能从公共仓库下载到,我们就需要将其部署到自己的仓库中
  • Snapshots 用于部署我们自己的snapshot构件
  • Releases 用于部署我们自己的release构件

Release和Snapshots的区别

在配置hosted和proxy类型的仓库时,需要配置Repository Policy指定仓库类型是Release或Snapshots类型。Maven默认情况下是根据构件的版本号去更新依赖构件的,但是在开发过程中我们如果引入的构件还没进入稳定状态,构件也是在不断的修改和发布,如果使用Release类型则必须修改版本号才能更新依赖,针对这种情况我们可选择Snapshots类型。对于Snapshots类型,Maven会从镜像中获取构件,即使不更改版本号也能确保构件是最新的。但是也因为Snapshots类型代表着构件仍处于开发状态,是不稳定的构件,所以要根据实际需要选择Release或Snapshots类型。
25.png

Download Remote Indexes的配置

[这点很重要!]打开Central仓库的Configuration页,在Download Remote Indexes一项中默认是false状态,这是因为Nexus初始状态下防止在用户不知情的情况下自动下载构件,所以要求用户手动修改成true状态,只有修改为true才能下载Maven中央仓库的索引文件。注意所有proxy类型的仓库都要配置Download Remote Indexes为true才可用。
26.png

Download Remote Indexes为true后,选中对应仓库,右键选择Repair Index,然后Nexus就会开始下载远程仓库的索引文件,如果索引文件非常大,可能会花费比较久的时间。
27.png

要测试是否下载成功可以在Browser Index页中查看是否能够打开索引目录。
28.png

proxy仓库配置成功后可在Artifact Search中查找对应的构件,如搜索maven对应的搜索结果如下
29.png

上传私有构件

有些构件如Oracle的JDBC驱动,我们无法从公共仓库下载到,所以我们只能先上传到Nexus,创建私有构件。通常这些无法从公共仓库下载的构件我们会放在3rd party中。

  • 在3rd party仓库的Artifact Upload页中我们可以上传已下载的第三方jar包,步骤如图
    210.png
  • 上传后在Maven项目的pom.xml中添加对应的dependency即可引入对应构件
    211.png

Maven中使用Nexus

在Maven项目的pom.xml中配置repository指定到我们的public仓库地址即可
(注意:因为我们的public中包含了policy为napshots的仓库,所以在配置repository时需要设定snapshots enable为true)

<repositories>
    <repository>
        <id>public</id>
        <name>Public Repositories</name>
        <url>http://xx.com/nexus/content/groups/public/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

Nexus搭建Maven私服[上篇]——Nexus安装

Nexus介绍

现今大部分的项目都已经是使用Maven进行构建,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但是如果直接从Maven中央仓库下载可能会遇到下载速度慢的问题。Nexus可以用来搭建Maven私服,通过Nexus可以缓存Maven中央仓库的构件,节省带宽和提升下载速度。另外,利用Nexus还可以实现在内网中使用Maven、创建公共仓库不存在的构件(如私有jar包)等功能。

Nexus安装

  • 基础环境
    linux(CentOS)
    jdk7

  • 下载Nexus
    下载地址 http://www.sonatype.org/nexus/
    下载NEXUS REPOSITORY MANAGER OSS
    (FREE TRIAL是收费版)
    1.png

  • 解压Nexus
    解压Nexus到/usr/local/nexus目录下,解压后将会有两个目录
    nexus-2.14.2-01
    sonatype-work
    第一个目录是服务程序,第二个目录用于存放数据

  • 修改端口
    进入/usr/local/nexus/nexus-2.14.2-01/conf目录下,编辑nexus.properties文件,修改application-port即可
    2.png

  • 启动Nexus
    进入/usr/local/nexus/nexus-2.14.2-01/bin目录, 执行命令./nexus 即可运行

  • 修改运行用户
    启动过程中可能会报如下错误
    修改/usr/local/nexus/nexus-2.14.2-01/bin/nexus, 改为RUN_AS_USER=root,保存后重新执行./nexus即可。
    851491-20160729120732966-1744702207.png

QQ截图20170215172053.png


Nexus搭建Maven私服[下篇]——Nexus使用



redis安装与简单使用

CentOS yum安装redis

yum install redis

启动redis

redis-server 

测试连接redis

redis-cli

8272c21b-86ed-42d9-a09e-43f3c7900e86.png

配置多实例

1、复制redis.conf文件

cp /etc/redis.conf redis6380.conf

2、修改redis6380.conf配置文件中的端口
c5639ffb-f884-468f-ba5c-45fbf96b8577.png
3、指定配置文件启动新的redis实例

redis-server /etc/redis6380.conf

4、查看进程列表检查是否启动成功

netstat -ntpl | grep 'redis'

44f3c44c-223c-40c6-a6a7-0bbeeb184886.png

5、测试连接新实例

redis-cli -p 6380

15afadff-b094-45bd-84ad-52fdc2b15d01.png

常用命令

  • 插入键值
    SET keyname value
  • 读取键值
    GET keyname
  • 删除键值
    DEL keyname
  • 列出键
    KEYS pattern

linux成长路[4.3]——搭建WordPress常见问题

常见问题

  • 安装主题时提示无法创建目录
    原因是权限不足,把plugins、themes、uploads、upgrade文件夹都提权,而且赋权给ftp用户(www-data是通过apt方式安装web服务时的默认用户,leapftp是自己搭建ftp服务的用户)。
    进入wp-content目录执行以下代码即可

    chmod -R 775 plugins/
    chmod -R 775 themes/
    chmod -R 775 uploads/
    chmod -R 775 upgrade/

    chown -R www-data:www-data uploads/
    chown -R leapftp:vsftp plugins/
    chown -R leapftp:vsftp themes/
    chown -R leapftp:vsftp upgrade/

  • WordPress提示“在裁剪您的图像时发生了错误”的解决方法
    原因:缺少PHP GD库
    apt-get install php5-gd

linux成长路[4.2]——搭建WordPress(Nginx)

前言

本文基于nginx搭建WordPress,若使用apache请移步《linux成长路[4.1]——搭建WordPress(Apache)》

依赖环境

  • Nginx
  • PHP
  • vsftpd
  • Mysql

步骤

  1. 需安装php5 、php5-mysql和 php5-fpm(安装后无需额外配置)
    apt-get install php5 php5-mysql php5-fpm

  2. 安装Nginx
    apt-get install nginx

  3. 修改/etc/nginx/nginx.conf,添加server
    server {
    listen 80;

    server_name blog.leapmie.com;
    root /var/www/blog.leapmie.com;

    index index.php index.html index.htm;

    location / {
       try_files $uri $uri/ /index.php?q=$uri&$args;
    }
    
    location ~ \.php$ {
       try_files $uri =404;
       #fastcgi_pass 127.0.0.1:9000;
       fastcgi_pass unix:/var/run/php5-fpm.sock;
       fastcgi_index index.php;
       #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include fastcgi_params;
    }     

    }

  4. 重启nginx和php-fpm
    service nginx restart
    service php5-fpm restart

  5. 安装mysql并创建数据库、数据库用户
    参考《》

  6. 搭建ftp服务并创建ftp用户
    参考《》

  7. wget下载WordPress官网压缩包
    tar -xvf 解压文件
    把解压后的wordpress下的文件移动到/var/www/htmlxia
    mv wordpress/* /var/www/html

  8. 页面访问http://ipaddress/html/index.php,然后按页面提示安装即可

注:
若配置后访问域名页面空白页,解决办法如下:
由于nginx与PHP-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最后增加两行:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;

然后重启一下服务:
service php5-fpm reload
service nginx reload

常见问题

《linux成长路[4.3]——搭建WordPress常见问题》


linux成长路[4.1]——搭建WordPress(Apache)

前言

本文基于Apache服务器搭建WordPress,若使用nginx请移步《linux成长路[4.2]——搭建WordPress(Nginx)》

依赖环境

  • Apache
  • PHP
  • vsftpd
  • Mysql

步骤

  1. 搭建Apache服务器

  2. 1 安装apache2
    apt-get installapache2 apache2-doc libapache2-mod-php5

  3. 2 重启apache2
    /etc/init.d/apache2 restart

  4. 安装php
    apt-get install php5 php5-mysql

  5. 安装mysql并创建数据库、数据库用户
    参考《》

  6. 搭建ftp服务并创建ftp用户
    参考《》

  7. wget下载WordPress官网压缩包
    tar -xvf 解压文件
    把解压后的wordpress下的文件移动到/var/www/htmlxia
    mv wordpress/* /var/www/html

  8. 页面访问http://ipaddress/html/index.php,然后按页面提示安装即可

常见问题

《linux成长路[4.3]——搭建WordPress常见问题》


linux成长路[四]——搭建WordPress博客

关于WordPress

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

WordPress以外

除了WordPress以外还有许多其他比较流行的博客,如typecho、hexo、zblog等。最开始我是选择WordPress的,也感受到WordPress主题的丰富和强大的插件支持,但是也因为WordPress太过丰富导致在不优化的情况下加载速度不够快速,最后我选择了更换博客。

搭建WordPress


linux成长路[三]——搭建VPN

VPN有什么用

用处就多了,不过主流就是用来翻墙。

VPN的搭建步骤

注:我也是看人家的文章的,原文《Debian下shadowsocks-libev一键安装脚本》

本脚本适用环境:
系统支持:Debian/Ubuntu
内存要求:≥128M
日期:2016 年 11 月 05 日

关于本脚本:
Debian 或 Ubuntu 下一键安装 libev 版的 shadowsocks 最新版本。该版本的特点是内存占用小(600k左右),使用 libev 和 C 编写,低 CPU 消耗,甚至可以安装在基于 OpenWRT 的路由器上。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。

默认配置:
服务器端口:自己设定(如不设定,默认为 8989)
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)

使用方法:
使用root用户登录,运行以下命令:

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh

chmod +x shadowsocks-libev-debian.sh

./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log

安装完成后,脚本提示如下:

Congratulations, Shadowsocks-libev install completed!
Your Server IP:your_server_ip
Your Server Port:your_server_port
Your Password:your_password
Your Local IP:127.0.0.1
Your Local Port:1080
Your Encryption Method:aes-256-cfb

Welcome to visit:https://teddysun.com/358.html
Enjoy it!

卸载方法:
使用 root 用户登录,运行以下命令:

./shadowsocks-libev-debian.sh uninstall

使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
查看状态:/etc/init.d/shadowsocks status

客户端使用:

再次强调,原文出处《Debian下shadowsocks-libev一键安装脚本》


linux成长路[二]——购买VPS

什么是VPS

VPS(Virtual Private Server 虚拟专用服务器)技术,将一台服务器分割成多个虚拟专享服务器的优质服务。

为什么选择VPS

便宜

如何选择VPS

一般情况下,大家都会选择海外的VPS,原因有三:

  1. 能够搭建vpn(翻墙)
  2. 便宜
  3. 不用备案

海外有不少知名的VPS提供商,如linode、搬瓦工等。最开始我是选择linode的,后来经同事推荐转去了价格低廉许多的budgetVM,然而用了一段时间后发现延迟非常大,已经到达了影响正常使用的地步,最后无奈又换了一家提供香港VPS的服务商(之前linode和budgetVM都是选择美国地区的,并不是说远岸的都那么坑,只是能否买到一台好机得看人品)。换了香港VPS后用着还是挺顺手的,延迟从190+ms直接降到60+ms,当然价格也不再那么实惠了。值得一提的是购买香港VPS一定要选择cn2网络的,至于我用着的是哪家服务商在这里就不打广告了。

如何选择操作系统

VPS一般都不会有非常高的性能,所以Windows Server就不用考虑了,没特殊情况大家都选择Linux。
Linux有多个版本,主流的有CentOS、Redhat、Ubuntu、Debian等等,我选择的是Debian,原因是最开始我对这些版本的认识是一片空白,当时同事选的Debian所以我也就跟着用了,用到现在感觉也不错,对于Debian的常见疑问网上还是挺多解决答案的。