由于前段时间腾讯云打折,所以买了一台小服务器,想着以后写几个小网站,博客什么的,但是一开始就遇到了难题,大概就是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。

    要搜索某些关键字,在命令模式下输入/关键字,回车之后就会显示查找结果。命令模式下按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,编辑转发配置。

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

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

/usr/local/nginx/sbin/nginx

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

# ps -ef|grep nginx

  

    然后执行从容停止。

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

  

    然后启动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

    

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

  三。数据库

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

yum install mysql-server

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

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

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

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

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

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

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

CentOS7基础建站指南(笔记)的更多相关文章

  1. WordPress建站指南

    WordPress建站指南(1)   写在前面: 3月份用10天零碎时间火速完成了建站,后台95%的工作都交给了WP(WordPress).如果想偷懒的话,WP是一个绝好的选择,估计有个小半天就建完收 ...

  2. WordPress建站指南(1)

    写在前面: 3月份用10天零碎时间火速完成了建站,后台95%的工作都交给了WP(WordPress).如果想偷懒的话,WP是一个绝好的选择,估计有个小半天就建完收工了. 想有片自己的小花园,可是不会P ...

  3. 零基础建站如何配置PHP运行环境 几种服务器环境配置的选择和方法

    上次给大家分享了小白建站如何选择虚拟空间及服务器,及购买域名的基础知识,这些是硬性要求,你的网站要想运行起来,硬件只是基础,真正的技术是软件,关于PHP软件开发技术,后面我们会慢慢的分享给大家,今天主 ...

  4. 编程基础-msdn编程指南笔记

    此博仅为笔记,摘自msdn编程指南文档,链接地址:http://msdn.microsoft.com/zh-cn/library/67ef8sbd.aspx 注释:// 单行注释 /* 多行注释*/ ...

  5. web app 的技术参考 -- 来自 【百度移动建站指南】

    优化页面性能 考虑到移动设备和移动互联网的特点,在进行移动网站的页面开发设计时,一个总的原则是考虑用户访问的效率,降低页面加载时间.  下面的内容来自百度,然后我自己做了笔记.另外可参考这个系列的文章 ...

  6. 设置帝国cms文章标题 真正符合百度建站标准

    百度建站指南中有提到内容页的标题设置,标题描述清晰最好包含主站和频道信息:内容标题_频道名称_网站名称.帝国cms文章标题一般默认是内容标题_网站名称,那么如何调用当前文章的频道名称(分类名称)呢? ...

  7. 《玩转Django2.0》读书笔记-Django建站基础

    <玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...

  8. Linux服务器建站基础-选择何种配置和安装环境项目

    我们准备在搬瓦工笔记中,边整理和分享利用Linux VPS建站过程的同时,也会分享关于用户在选择和使用VPS服务器以及网站管理运营中的一些心得和建议.经常有很多网友在很多主机论坛.QQ群众问道,有没有 ...

  9. [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】

    [课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...

随机推荐

  1. Visual Studio 2013 boost

    E:\Visual Studio 2013\install\VC\bin\amd64>E:\IFC\boost_1_56_0_vs2013'E:\IFC\boost_1_56_0_vs2013' ...

  2. http://www.atool.org/keytype.php#0-tsina-1-53371-397232819ff9a47a7b7e80a40613cfe1

    http://www.atool.org/keytype.php#0-tsina-1-53371-397232819ff9a47a7b7e80a40613cfe1

  3. ASP.NET MVC与ASP.NET Web API的区别(转)

    出处:http://blog.csdn.net/wangzl1163/article/details/72676616 MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据 W ...

  4. Android Gson 操作

    JSON序列化后的数据不带类名与名命空间,所以这两个服务端跟客户端可以不对应,需要保证字段对应即可 Asp.net MVC端 using System; using System.Collection ...

  5. 【转】WIFI基本知识整理

    WIFI基本知识整理 这里对wifi的802.11协议中比较常见的知识做一个基本的总结和整理,便于后续的学习.因为无线网络中涉及术语很多,并且许多协议都是用英文描述,所以有些地方翻译出来会有歧义,这种 ...

  6. javascript编码规范[原创]

    一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如: 1.使用“var”定义.初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议). 2.结尾必加“;”防止 ...

  7. HDU1102&&POJ2421 Constructing Roads 2017-04-12 19:09 44人阅读 评论(0) 收藏

    Constructing Roads Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) ...

  8. 企业搜索引擎开发之连接器connector(十七)

    本文描述连接器的提供与外界交互的servlet接口,连接器与外部是通过xml格式数据交互的 1)  获取所有连接类型 提交地址:http://localhost:8080/connector-mana ...

  9. 1、Docker介绍

      Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器完全使用沙箱机制,相互之间不会有任何接口 ...

  10. datasnap远程方法支持自定义对象传参

    有同仁需要远程方法传输自定义的数据类型,他以为要自己写代码会很复杂,其实DATASNAP早就为我们想到了. datasnap的数据序列和还原真是无与伦比的强大,其远程方法支持自定义对象传参,DATAS ...