Ubuntu下搭建个人服务器

有了个人服务器,就有了环境,可以自己做点东西,虽然很可能不能产生什么价值,但是,对于自己技术有个实践的地方,而且,眼光不在仅局限于写代码,比如、运维、持续交付等,那些不熟悉的概念也可以玩一把。

一直都是写代码,然而代码写的不怎么样,做个东西深切感受下,就知道哪里不足,因此在服务器搭建方面,不太完善,后续需要补充上。

趁着双十一阿里云做活动,买了个一般服务器,装上需要的软件,就OK了。这些是安装过程中已经成功的过程,其实大多是百度出来的,见到相似不要奇怪。

在/opt目录下创建apache目录,当做软件安装目录

软件列表:

  1. FTP
  2. JDK
  3. RabbitMQ
  4. Nginx
  5. SVN
  6. 阿里云添加二级域名

阿里云服务器开通后可以使用 Xshell 等软件连接,看到的是命令界面。

  1. 安装FTP
// 执行安装命令
sudo apt-get install vsftpd
// 据称是安全版本的SVN软件...
// 新建"/home/uftp"目录作为用户主目录
sudo mkdir /home/uftp
// 设置权限
sudo chmod -R 777 /home/uftp //赋予这个权限世界安静了
// 新建用户uftp并设置密码
sudo useradd -d /home/uftp -s /bin/bash uftp
// 输入密码
sudo passwd uftp //需要输入两遍,记得就行
// 修改配置文件/etc/vsftpd.conf
sudo vi /etc/vsftpd.conf
// 添加:
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users
seccomp_sandbox=NO
// 修改:
local_enable=YES
write_enable=YES
// 新建/etc/allowed_users文件
sudo vi /etc/allowed_users
// 添加:uftp

1.2 查看/etc/ftpusers文件中的内容,这个文件下的用户不能访问ftp,看看是否有uftp,如有就注释掉
1.3、重启

sudo service vsftpd restart

1.4 客户端软件:WinSCP/FileZilla

  1. 安装JDK
    2.1 使用ftp上传JDK,打开命令界面,解压文件到/opt/apache目录下
tar -zxvf jdk.tar.gz -C /opt/apache

可以重命名也可以不用。。
2.1 删除自带JDK

sudo dpkg --list | grep -i jdk // 查找自带
sudo apt-get purge openjdk*
// 然后再看看

2.2 配置

sudo gedit /etc/profile
#set java environment
JAVA_HOME=/opt/apache/jdk1.8
export JRE_HOME=/opt/apache/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

2.3 需要重启,在阿里云管理点两下就行了。
2.4 查看版本

java -version
  1. 安装RabbitMQ
    3.1 上传安装包文件
    3.2 进入上传目录
sudo dpkg -i xxx.deb // 执行安装
sudo apt-get -f install //提示缺少依赖包,执行,然后再次安装

3.3 修改配置

vi  /usr/lib/rabbitmq/bin/rabbitmqctl 
.........
RABBITMQ_USE_LONGNAME=${RABBITMQ_USE_LONGNAME} \
HOME=/var/lib/rabbitmq \    // 需要加上这么一句
............
// 才能使用 ./rabbitmqctl status // 使用rabbitmqctl 插件管理..
// 进入安装目录
cd /usr/lib/rabbitmq/bin/

3.4 添加用户并加入管理员

sudo ./rabbitmqctl add_user admin admin123 
sudo ./rabbitmqctl set_user_tags admin administrator

3.5 添加vhost

./rabbitmqctl add_vhost [vhost_name]

3.6 赋予权限

// 把sycamore的vhost授予cashing-tier完全的访问权限
 ./rabbitmqctl set_permissions -p sycamore cashing-tier ".*" ".*" ".*"
// 验证权限是否正确的赋予oak vhost
./rabbitmqctl list_permissions -p oak

3.6 后台启动

./rabbitmq-server -detached

3.7 设置远程访问

./rabbitmq-plugins enable rabbitmq_management
// 远程访问端口:15672
  1. 安装Nginx
1、wget http://nginx.org/keys/nginx_signing.key
2、sudo apt-key add nginx_signing.key
3、vi  /etc/apt/sources.list
4、deb http://nginx.org/packages/ubuntu/ trusty nginx
5、deb-src http://nginx.org/packages/ubuntu/ trusty nginx
6、apt-get update
7、apt-get install nginx
8、nginx -v // 查看版本
9、找到配置文件:ps -ef | grep nginx
重启: ..../nginx -s reload
  1. 安装svn(所有的行都必须顶格)
sudo apt-get install subversion
// 验证
svn --version
// 创建SVN版本库
// 创建项目目录和svn仓库
sudo mkdir  /home/svn
sudo mkdir  /home/svn/repository
sudo chmod -R 777 /home/svn/repository
sudo svnadmin create /home/svn/repository
// 进入repository目录,有:conf、db。。。等文件
sudo chmod -R 777 d
// 设置访问权限
sudo vim /home/svn/repository/conf/svnserve.conf
// 去掉
anon-accedd = read
auth-accedd = write
password-db = passwd
// 前的注释
添加访问用户
sudo vim /home/svn/repository/conf/passwd
// 输入
wang = 12345
// 设置用户权限
sudo vim /home/svn/repository/conf/authz
// 输入
admin = wang //用户王属于admin权限组
@admin = rw //admin权限组的权限是读和写
 * = r 所有的组都具有读权限
// 测试
// 启动服务器
svnserve -d -r /home/svn 
// -d:表示在后台运行
// -r:指定服务器的根目录
// 查看svn是否运行
ps aux | grep svnserve
// 客户端访问(RapidSVN/TortoiseSVN
// svn://192.168.1.1/repository
  1. 阿里云添加二级域名
1、进入域名管理
    http://www.aliyun.com 登录,点击”云解析“,找到要解析的一级域名xxxx.com
2、填写信息
    点击右侧“解析”按钮
点击“添加解析”,依次填入:记录类型:A,二级域名前缀aa,记录值:目标IP(不含端口),其他默认,点击“保存”。
3、测试添加的域名
    ping aa.xxxx.com ,如出现ip地址,表名解析成功
4、登录目标服务器,修改nginx配置文件
    比如添加:aa
    cd /etc/nginx/conf.d
    vi amqp.conf
    输入:
    server {
    listen 80; #监听的端口
    server_name aa.xxxx.com; #监听的域名
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:9090;  #跳转的url和接口
    }
    access_log logs/aa_access.log; #生成的日志,
    只需修改:      aa_access.log,文件自动生成。
  }
5、重启Nginx
    cd /usr/sbin
    ./nginx -s reload
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容