这里以目前最新的centos7系统为例:
1)首先在本地window系统上安装XShell或者SSH等远程Shell脚本的软件,并配置好连接。
其中主机为阿里云服务器的公网IP,用户名和密码为阿里云提供的服务器管理账号和密码
2)安装Java jdk
在XShell中使用命令 yum search java|grep jdk 查看当前可安装的jdk版本
使用 yum install java-1.8.0-openjdk 命令安装jdk(目前最新版本为1.8)
打开配置文件进行编辑: vi /etc/profile
输入以下环境变量配置并保存:
export JAVA_HOME=/usr/lib/jvm/java
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
生效配置:source /etc/profile
查看JAVA_HOME: echo $JAVA_HOME
3)安装mysql数据库
依然可以使用yum命令进行安装,由于写这篇文章之前我已经安装好了mysql,这里安装方法可以问度娘。
4)安装nginx服务器
下载对应当前系统版本的nginx包(package)
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
建立nginx的yum仓库
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
启动服务
systemctl start nginx
防火墙开放80端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
重启防火墙
systemctl restart firewalld
完了就可以从浏览器通过ip地址访问nginx的欢迎页面了
5)安装tomcat服务器
yum install tomcat
防火墙开放8080端口
firewall-cmd --permanent --zone=public --add-port=8080/tcp
启动服务
systemctl start tomcat
重启防火墙
systemctl restart firewalld
5-2)安装第二个tomcat服务器
第二个tomcat就不能使用yum命令了,因为他会提示你已经安装过了
所以第二个tomcat采取手动安装绿色版的方式,首先在通过cd命令切换到你想要的安装的目录,然后到tomcat官网找到最新版的tomcat下载页面,在.gz的下载链接上右键复制链接地址,然后用wget+你复制的地址进行下载安装。我这里是现在的最新版tomcat9。
//下载
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M13/bin/apache-tomcat-9.0.0.M13.tar.gz
//解压
tar -xzvf apache-tomcat-9.0.0.M13.tar.gz
//然后切换到配置文件conf目录,打开配置文件配置进行编辑
vi server.xml
//按i键进行编辑,吧port="8080",port="8089",port="8005"这三个地方的端口号都改成其他的,完了esc,输入 :wq保存退出编辑。我这里吧8080改为了8081,然后要把8081加入防火墙放行端口列表,并重启防火墙,然后就可以在浏览器中输入(http://服务器IP地址:8081)进行访问了
firewall-cmd --permanent --zone=public --add-port=8081/tcp
systemctl restart firewalld
//可以把tomcat bin目录下的startup.sh设置为开机自启动,编辑/etc/rc.local文件,在最后加上startup.sh的绝对路径即可
6)nginx配置负载均衡和动静分离
//可以注释了nginx.conf中对应的配置,然后在conf.d目录下新建.conf配置文件,也可以直接修改nginx.conf
//在conf.d中新建tomcats.conf然后编辑内容如下:upstream tomcats { # 这里tomcats和后面proxy_pass中的域名一致
ip_hash; # 用于使得同一个用户请求到相同的服务器
server localhost:8080;
server localhost:8081;
server localhost:8082;
#这里可以继续加,有多少个tomcat服务器就配多少个
}
//在conf.d中新建default.conf 内如如下:
#禁止通过ip访问
server{
server_name _;
return 404;
}
# 配置端口 静态根目录
server {
listen 80;
server_name 你的域名.com *.你的域名.com;
charset utf-8;
root /var/www/;
expires 30d;
}
#配置js,css目录和其过期时间
location ~ .*\.(js|css)?$ {
root /var/www/;
expires 1h;
}
#配置其他静态文件的目录和其过期时间
location ~ .*\.(html|htm|jpg|jpeg|png|bmp|gif|ico|mp3|mid|wma|mp4|swf|flv|rar|zip|txt|doc|ppt|xls|pdf)$ {
root /var/www/;
expires 30d;
}
location / {
#当502或504时,将请求转发到负载均衡中正常server中
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcats; # 反向代理请求转发路径
}
error_page 404 /404.html;
location = /40x.html {
root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
#配置gzip压缩
gzip on; #启用 gzip 压缩功能
gzip_proxied any; # nginx 做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩
gzip_min_length 1024; #最小压缩的页面,如果页面过于小,可能会越压越大,这里规定大于1K的页面才启用压缩
gzip_buffers 4 8k; # 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流
gzip_comp_level 3; # 压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为3就可以了
gzip_types text/plain text/css application/x-javascript application/javascript application/xml application/json;
# 什么类型的页面或文档启用压缩
}
7)安装activemq消息队列
//到官网找到最新版的activeMQ下载链接,在linux上建好安装文件夹,下载,解压
wget https://mirrors.tuna.tsinghua.edu.cn/apache//activemq/5.14.1/apache-activemq-5.14.1-bin.tar.gz
tar -xzvf apache-activemq-5.14.1-bin.tar.gz
//cd命令切换到bin目录,后台方式启动activemq,activemq.log为日志文件
nohup ./activemq start > /var/log/activemq/activemq.log
//查看端口
netstat -anp
//查看8161端口是否打开: netstat -an | grep 8161
//若未打开使用nc命令打开端口
nc -lp 8161
//把管理页面6161端口加入防火墙允许范围
firewall-cmd --permanent --zone=public --add-port=8161/tcp
//远程刘浏览器输入http://ip地址:8161就可以访问activeMQ的管理页面了
8)创建FTP服务器
(也可以参考http://blog.csdn.net/lsc_000/article/details/49964877)
//使用yum安装
yum -yinstall ftp vsftpd
//设置开机启动
chkcofig vsftpd on
//或者使用rpm安装以下两个包
ftp-0.17-66.el7.x86_64
vsftpd-3.0.2-9.el7.x86_64
//另外需要安装db包,用来加密虚拟用户的账户信息
//这个包在centos7中默认已经安装了
rpm -qf/usr/bin/db_load
libdb-utils-5.3.21-17.el7_0.1.x86_64
配置
创建无需密码访问的公开目录
mkdir /ftp/open
创建需要用户名密码访问的目录
mkdir /ftp/private
做几个测试文件
echo opentest > /ftp/open/open.txt
echo filetest > /ftp/private/filetest1.txt
touch /ftp/open/anontest.txt
//查看配置文件所在路径
rpm -qc vsftpd
//切换至配置文件所在路径
cd /etc/vsftpd/
//备份原有配置文件
cp vsftpd.conf vsftpd.conf.origin
//创建密码明文文件 奇数行为用户名,偶数行为密码
vi/etc/vsftpd/vftpuser.txt
//输入如下内容
zhangsan
123456
lisi
123456
//根据明文创建密码DB文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
//查看密码数据文件(可以不执行)
file /etc/vsftpd/vftpuser.db
//创建vftpd的guest账户
useradd -d /ftp/private -s /sbin/nologin vftpuser
//配置vsftpd
vi/etc/pam.d/vsftpd
将auth及account的所有配置行行均注释掉,添加如下内容:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
//打开配置文件
vi /etc/vsftpd/vsftpd.conf
//在最后添加
anon_root=/ftp/open
virtual_use_local_privs=YES
guest_enable=YES
guest_username=vftpuser
chroot_local_user=YES
allow_writeable_chroot=YES
//设置自动启动
systemctl enable vsftpd
//启动服务
systemctl start vsftpd
//查看目前的状态
systemctl status vsftpd
//测试登陆
ftp localhost
匿名登陆时username输入:anonymous,password留空;
或使用配置文件中的用户名、密码登陆;
//远程登录
win7资源管理器顶上的路径框输入(ftp://服务器ip地址)即可
9)git服务器的搭建
$ yum install git #安装git
$ groupadd git #添加git用户组
$ adduser git -g git#在git组下添加一个全局git用户
$ mkdir /var/www #网站管理总目录
$ mkdir /var/www/juoon #网站目录
$ mkdir /var/www/juoon.git #网站git记录存放位置
$ chown -R git:git /var/www/juoon.git #把git目录拥有者改为git用户
$ cd /var/www/juoon.git #切换目录
$ git init --bare #初始化一个git仓库
$ vi hooks/post-receive #新建文件,输入以下内容
##post-receive这个脚本在提交文件到git仓库时,会运行文件内的代码,
##可以通过这样的方法,我们在客户端push提交代码后,就能自动更新网站的文件了。
#!/bin/sh
GIT_WORK_TREE=/var/www/webapp git checkout -f
# or GIT_WORK_TREE=../webapp git checkout -f
################################
$ chmod +x hooks/post-receive #添加可执行权限