一、yum
ssh连接虚拟机
yum makecache yum源生成缓存
二、jdk
安装jdk1.7
查看本机自带jdk版本
rpm -qa | grep jdk
卸载本机自带的jdk的命令
sudo yum remove XXX(为上面的命令查到的jdk的结果) 个人先不卸载跳过此步骤
安装命令sudo rpm -ivh jdk-7u80-linux-x64.rpm
默认的安装路径、/usr/java
配置jdk的环境变量
sudo vim /etc/profile
在最下方增加
export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
$JAVA_HOME/bin加入PATH目录下
验证是否安装成功
java -version
三、Tomcat
sudo tar -zxvf apache-tomcat-7.0.73.tar.gz -C /usr/local
配置环境变量
配置UTF-8的编码字符集
Tomcat的验证
进入tomcat 的解压缩的文件包的bin目录下
执行 ./startup.sh启动tomcat,出现如下提示,证明安装成功
继续验证:
虚拟机内部访问:localhost:8080出现如下图所示,表示成功
127.0.0.1:8080 也是可以的
四、maven
解压缩
配置环境变量
sudo vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.0.5
$MAVEN_HOME/bin:
source /etc/profile
执行 mvn -version 验证,出现如下图所示表示成功
五、ftp搭建
yum安装
$ rpm -qa | grep vsftpd 查看是否已经安装
$ yum list |grep vsftpd 在yum中查看是什么版本的vsftpd
vsftpd.x86_64 2.2.2-24.el6 base
执行sudo yum -y install vsftpd 进行安装
再次查看已经安装成功
创建ftp的虚拟用户
去根目录下创建ftp的文件夹
cd /
sudo mkdir ftpfile
添加匿名用户:
sudo useradd ftpemma1 -d /ftpfile -s /sbin/nologin
sudo useradd ftpemma -d /ftpfile -s /sbin/nologin
sudo useradd ftpemma2 -d /ftpfile -s /sbin/nologin
修改权限设置密码
sudo chown -R ftpemma.ftpemma /ftpfile
sudo passwd ftpemma
......
权限给了最后一个用户,这里最好建一个ftp用户组
ftp服务器的配置
创建一个文件
写入内容
cd /etc/vsftpd
sudo vim chroot_list
把新增的虚拟用户添加到此配置文件中,后续需要引用
:wq保存退出
查看用户
sudo cat chroot_list
sudo vim /etc/selinux/config,修改SELINUX=disabled
:wq保存退出
如果一会验证时碰到550拒绝访问的情况可以
执行sudo setsebool -P ftp_home_dir 1
然后重启liunx服务器,执行reboot命令
sudo vim /etc/vsftpd/vsftpd.conf
最后添加被动传输接口范围
sudo service vsftpd restart
编辑防火墙
sudo vim /etc/sysconfig/iptables
sudo service iptables restart
重启一下ftp服务
主机中可以访问
外网不可访问,目前将问题归结于虚拟机的联网方式是NAT的的原因(忽略)
六、Ngnix反向代理服务器的安装和配置
安装gcc(命令:yum install gcc)
安装前先查询本机的gcc的版本信息
gcc -v
本机已安装,直接安装其他依赖
安装pcre(sudo yum install pcre-devel)
安装zlib(先查看本机是否已安装)
安装openssl(sudo yum install openssl openssl-devel)(先查看本机是否已经安装)
备注:如需支持ssl,才需安装openssl
解压缩包到指定位置 sudo tar -zxvf nginx-1.10.3.tar.gz -C /usr/local
进入nginx的解压后的源码包
cd /usr/local/nginx-1.10.3
sudo ./configure 进行配置
配置成功
开始准备安装
执行 sudo make -j20
正式安装
执行 sudo make install
进入默认的安装目录查看
启动nginx并查看进程
nginx默认的是80端口,使用ip应该是可以访问到的,测试
成功了
在linux下配置nginx
进入nginx 的安装目录 cd /usr/local/nginx/
测试配置文件:
cd /usr/local/nginx/sbin/
./nginx -t
启动命令
./nginx
停止命令
./nginx -s stop 或 nginx -s quit
重启命令
./nginx -s reload
查看进程命令
ps -ef | grep nginx
平滑重启
kill -HUP [Nginx主进程号(即查看进程命令查到的PID)]
增加防火墙访问权限
1.sudo vim /etc/sysconfig/iptables
2.-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
3.保存退出
4.重启防火墙 sudo service iptables restart
配置步骤
1.sudo vim /usr/local/nginx/conf/nginx.conf
(1) include vhost/*.conf
2.在 /usr/local/nginx/conf/ 目录新建vhost文件夹
即:/usr/local/nginx/conf/vhost
3.创建对应的域名转发配置文件(include vhost/*.conf与这个是相对应的)
配置完成后
启动: 或者重启
进行对应域名进行访问验证
nginx中的conf配置分三种情况
1.指向端口的配置
2.指向目录的配置
3.既指向端口又指向目录
Nginx本地使用的注意事项
可以配置域名转发,但是请一定要配置host,
并且使host生效之后才可以,设置完成之后要重启浏览器(最好是清除缓存Ctrl+F5)
linux:
1.sudo vim /etc/hosts
2.添加好对应的域名及Ip
3.:wq保存退出
七、文件服务器搭建
打通nginx服务器和ftp服务器打通制作一个文件服务器,或者图片服务器
遇到的问题
尝试解决办法:
检查ftp端口20,21是否被占用
netstat -natp |grep 20
netstat -natp |grep 21
折腾一顿,突然想到权限问题
晕,服务没有问题,操作有问题
新建
重启nginx
重启nginx时报错nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory),进入到logs目录发现确实没有nginx.pid文件
解决办法
使用指定nginx.conf文件的方式重启nginx
使用nginx -c的参数指定nginx.conf文件的位置
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
还有一种可能就是nginx.conf的nginx.pid被注释了,将下图中pid前的#去掉,保存退出再次启动nginx
去掉这里的注释
DNS服务器劫持
sudo vim /etc/hosts(修改本机的hosts,添加如下代码)
192.168.1.x image.happymmall.com
DNS本机劫持
打开Fiddler>Tools>HOSTS填入如下配置
虚拟机网页测试
主机网页测试
图片服务器打通成功!!!
八、mysql的安装和配置
linux下安装mysql系统自带的数据库版本
安装命令:
sudo yum -y install mysql-server
rpm -qa |grep mysql-server
检验是否安装成功
默认配置文件在 /etc/my.cnf
字符集配置
(1)vim /etc/my.cnf
(2)添加配置,在[mysqld]节点下添加:
default-character-set=utf8
character-set-server=utf8
(3):wq保存退出
自启动的配置:
(1) 执行chkconfig mysqld on
(2) 执行chkconfig --list mysqld查看(如果2--5位启用on状态即ok)
防火墙的配置
(1)sudo vim /etc/sysconfig/iptables
(2)-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
(3):wq保存退出
(4)sudo service iptables restart
启动mysqld服务命令:
service mysqld start
MYSQL初始化环境设置
linux下初始化后,还没有设置密码,执行mysql -u root 登录MySQL服务器
mysql自身使用配置
(1).查看目前mysql的用户
select user,host,password from mysql.user
修改root密码:
set password for root@localhost=password('*********');
set password for root@127.0.0.1=password('*********');
(3).exit退出mysql
(4).重新登录mysql输入mysql -u root -p
(5).为了数据库的安全,删除匿名用户,执行以下sql
查看是否有匿名用户:select user,host from mysql.user;
删除匿名用户:delete from mysql.user where user='';
再次查看:select user,host from mysql.user;
刷新,使以上操作生效:flush privileges;
(6).为项目插入新用户:
insert into mysql.user(Host,User,Password) values ("***","***",password("***"))
(7).创建新的database
CREATE DATABASE `mmall` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
(8).给本地用户赋予所有权限
grant all privileges on mmall.* to ***@******* identified by '*******';
(9)给账号开通外网所有权限
grant all privileges on mmall.* to ***@% identified by '*****';
mysql> FLUSH PRIVILEGES;
mysql> FLUSH PRIVILEGES;
验证mysql
ifconfig 查看mysql服务器地址
使用mysql客户端工具连接(navicat)
绿色连接成功了
select * from mysql.user \G
错误原因是命令后面多加了一个分号