由于前段时间腾讯云打折,所以买了一台小服务器,想着以后写几个小网站,博客什么的,但是一开始就遇到了难题,大概就是Linux服务器的配置问题,比如如何假设服务器,配置非root用户,配置服务器数据的非root用户访问,nginx请求转发,iptables的端口控制等问题,接下来博主就记录一下搭建Tomcat所遇到的问题以及解决方案。

  一。服务器系统选择

    我让腾讯云自己帮我装了一个CentOS7.2,说真的由于防火墙的一些小改动,7.0以上版本让人觉得有点烦,所以我还是建议用6.0的版本,毕竟网上大多数的服务器博客都讲的6.0。

    拿到服务器的第一时间,当然是root登录了。Windows使用SecureCRT,MAC和Linux直接SSH登录。



ssh root@服务器IP



    然后输入密码,就登录了服务器。

    登录的第一件事情,我选择创建子用户并且禁用了root用户的远程登录。

    用vim找到ssh的设置,并且更改PermitRootLogin为no



vim /etc/ssh/sshd_config



    之后添加一个新用户。



adduser 用户名
passwd  用户名



    以后登录服务器就使用这些新加的用户,若要使用root则用子用户登录之后执行su命令切换root。

    之后就各种安装,yum install一些,wget一些。必须要装一个gcc,因为很多安装文件都需要gcc编译。

    对于vim的配置,比如设置行数。



vim  /etc/vimrc



    在末尾输入set nu。

centos 7部署zabbix centos7建站_开发工具

    要搜索某些关键字,在命令模式下输入/关键字,回车之后就会显示查找结果。命令模式下按dd可以清除一行内容,在操作完成之后命令模式下按:x保存并退出。

   二。端口监听

    一台服务器通常打开的端口就有两个,一个是22一个是80。22专门用作ssh登录,80则作为服务器程序监听。我们为了防止80端口的权限过大,一般不采用root用户去启动tomcat,而采用转发的方式。如果直接修改server.xml监听80端口,普通用户启动的时候是权限不足,无法绑定,因为1024以下的端口都无法被普通用户享有权限。而暴露8080端口也是不怎么上乘的选择,所以采用了nginx转发动态请求到tomcat的这种方法。

    首先找到tomcat和nginx的下载连接,然后wget到服务器上。

    安装nginx需要gcc编译器,常规的./configure,make,make install后,nginx就安装到了/usr/local/nginx下了。

    打开nginx/conf/nginx.conf,编辑转发配置。

centos 7部署zabbix centos7建站_centos 7部署zabbix_02

    这个叫做nginx反向代理,除了这种粗浅的配置还可以配置多路由、拦截静态资源请求等等。

    启动nginx的命令就是执行它sbin下的nginx文件。



/usr/local/nginx/sbin/nginx



    要停止nginx首先要在进程中找到它。



# ps -ef|grep nginx


  

centos 7部署zabbix centos7建站_centos 7部署zabbix_03

    然后执行从容停止。



kill -QUIT 进程ID



    解决了nginx之后,启动tomcat监听8080,然而浏览器访问IP仍然没有能显示tomcat的主页。问题出在防火墙上。

    由于CentOS7不是自带的iptables,用了别的防火墙,我查阅资料把原来的替换成了iptables,并打开了80端口的访问权限。

    首先停止firewall。



systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动



    然后安装iptables



yum install iptables


  

centos 7部署zabbix centos7建站_centos 7部署zabbix_04

    然后启动iptables。



service iptables start



    打开80端口的访问权限。



iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 80 -j ACCEPT



    然后save。



service iptables save



        最后查看一下当前策略。



iptables -L -n


    

centos 7部署zabbix centos7建站_运维_05

    等这些东西弄完之后,就可以从ip访问tomcat的首页了。一个粗略的网站服务器就这样搭建完成了。对了,记得配上Java环境,不然tomcat跑不起来。

 

centos 7部署zabbix centos7建站_java_06

 

  三。数据库

    毫无疑问,mysql。(其他的能跑起来?才1G内存,主要是mysql很熟很容易用)



yum install mysql-server



    不大记得刚安装的时候怎么登录的,好像不用密码。本地登录之后记得搞一下把root远程访问给禁掉,开启一个不能删除表的用户远程访问,要问为什么,参照《MYSQL从删库到跑路》。

    MYSQL的访问是3306,记得去iptables修改一下3306的打开状态。

    修改mysql数据库密码的命令,在登录mysql后使用。方法有很多,我采用其中一条。



set password for 用户名@localhost = password('新密码');



    localhost应该是本地登录的密码,还可以设置一个远程登录密码,然而我们必须禁用远程root。

centos 7部署zabbix centos7建站_nginx_07

    user的前面是%的表示可以远程访问,把root的Host改为localhost就无法远程访问了。

 

  至此,这就是博主这两天自己建站的全部笔记,糟糕,代码还没写……