VPS安装Nginx后绑定域名的方法

通常来说,一般使用VPS搭建网站都会搭建完整的网站环境,例如我们用的LNMP一键包,会有专门的增加域名绑定的指令,不过如果你只是为一台VPS单独安装了nginx服务的话,要怎么绑定域名呢?方法如下:

  1. 远程连接并登录到 Linux 实例。
  2. 执行命令 cd /etc/nginx/conf.d 打开 Nginx 服务配置文件目录。
  3. 执行命令 vi 您要创建的域名.conf 创建域名规则配置文件,如示例中的 vi www.server110.com.conf
  4. 输入 i 编辑新建的配置文件:
    • 为每一个域名建立一个单独的配置文件时输入以下内容:

      1. server
      2. {
      3. listen 80; #监听端口设为 80。
      4. server_name www.server110.com; #绑定您的域名。
      5. index index.htm index.html index.php; #指定默认文件。
      6. root /home/www/server110.com; #指定网站根目录。
      7. include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
      8. }
    • 将多个域名规则写进一个共同的配置文件时输入以下内容:

      1. server
      2. {
      3. listen 80; #监听端口设为 80。
      4. server_name www.server110.com; #绑定您的域名。
      5. index index.htm index.html index.php; #指定默认文件。
      6. root /home/www/server110.com; #指定网站根目录。
      7. include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
      8. }
      9. server
      10. {
      11. listen 80; #监听端口设为 80。
      12. server_name msn.server111.com; #绑定您的域名。
      13. index index.htm index.html index.php; #指定默认文件。
      14. root /home/www/msn.server110.com; #指定网站根目录。
      15. include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
      16. }
    • 为无 WWW 前缀的域名配置规则并加 301 跳转时输入以下内容:
      1. server
      2. {
      3. listen 80;
      4. server_name server110.com;
      5. rewrite ^/(.*) http://www.server110.com/$1 permanent;
      6. }
    • 需要为域名添加 404 提示时输入以下内容:
      1. server
      2. {
      3. listen 80; #监听端口设为 80。
      4. server_name www.server110.com; #绑定您的域名。
      5. index index.htm index.html index.php; #指定默认文件。
      6. root /home/www/server110.com; #指定网站根目录。
      7. include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
      8. error_page 404 /404.html;
      9. }
  5. 按 Esc 退出编辑并输入 :wq 保存退出。
  6. 执行命令 nginx -t 检查配置是否有误,并按照报错提示修复错误。
  7. 执行命令 service nginx restart 重启 Nginx 服务。
  8. 执行命令 service nginx reload 重新载入 Nginx 服务。

CentOS 6查看和管理iptables 防火墙状态的命令

CentOS 6上面默认的是iptables防火墙,如果想要查看防火墙是否运行,只需要输入下面的命令。
service iptables status
如果防火墙没有运行会提示:
iptables: Firewall is not running.

启动iptables的话就输入下面的命令:
service iptables start

重新启动iptables的话就输入下面的命令:
service iptables restart

停止iptables的话就输入下面的命令:
service iptables stop

Linux VPS分析目录资源大小占用命令

通常来说,当你在Linux系统的VPS上面跑网站后,一段时间后你会发现你vps的硬盘就占用非常大了,但是自己网站数据并不多,那么是什么占用了你vps的硬盘空间呢?我们可以通过命令du -sh 来分析一下。

具体使用方法:

登陆vps的ssh后,输入下面的代码

du -sh /*

可以列出你整个VPS所有文件夹的大小。

/*是控制分析哪个目录的,你根据上面的结果,然后灵活变化后面的路径就行了,例如

du -sh /usr/*

用这个命令来分析usr目录下的文件夹大小,最后定位到大文件,直接删除就行了(如果没用的话)

Ubuntu下设置和修改DNS的方法

在DO装了一台Ubuntu的vps,结果无法ping域名,应该是DNS问题,打开/etc/resolv.conf

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

内容是一段警告:说这个文件是resolvconf程序动态创建的,不要直接手动编辑,修改将被覆盖。

如果想要重启后修改的dns依然有效,可以使用下面的方法修改:

vim /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个

修改好保存 :wq,然后执行

resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。

附:CentOS下修改DNS则容易的多了,直接修改/etc/resolv.conf,内容是:
nameserver 8.8.8.8
nameserver 8.8.4.4

保存就生效了,重启也没问题。

CentOS 7手动更换内核安装锐速

购买的VPS提供的CentOS 7内核不支持锐速的话怎么办?就只能手动更换一个支持锐速的版本,下面就是CentOS 7更换内核的教程方法。

ssh登陆vps后,输入下面的代码

rpm -ivh https://buildlogs.centos.org/c7.01.u/kernel/20150327030147/3.10.0-229.1.2.el7.x86_64/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

然后输入命令查看是否安装好了刚才的内核

rpm -qa | grep kernel

接着重启vps

reboot

重启完毕后看看现在的内核版本

uname -r

更多的内核版本可以去centos.org查找。

Centos 7 安装Apache教程、常用命令和防火墙配置

前言

默认到情况,很多Linux VPS选择Centos 7系统后会自动安装Apache组件,如果你到VPS没有安装,则可以自己根据下面的方法安装Apache,同时通常VPS还自带了iptables防火墙,也需要设置才能正常访问网站。

Centos7安装Apache的具体方法参见下面。

Apache 安装

Apache的安装非常地简单,你只需要输入一行代码回车就可以了

  1. # yum install httpd

同样的在安装过程中会提示“is this ok [y/d/N]”,输入y,回车即可。

这样就完成了Apache 的安装。

Apache 配置

安装完之后,这个服务是还没开启的,所以接下来我们可以通过一段命令代码来开启 Apache 服务

  1. # systemctl start httpd.service

你还可以通过下面这一行命令代码查看Apache 服务的运行状态

  1. # systemctl status httpd.service

还有一行命令代码你需要运行下的,它可以让你在重启服务器时自动启动Apache 服务,这样就不怕重启服务后,手动开启Apache 服务了。

  1. # systemctl enable httpd.service

如果有需要(如:更改站点根目录),你还可以打开Apache的配置文件进行编辑

  1. # vim /etc/httpd/conf/httpd.conf

安装完这后,你在浏览器中输入IP时,你还不能访问站点。这是因为防火墙里没设置端口规则,下面我们可以对防火墙进行相应的配置,打开防火墙(默认时firewalld防火墙是关闭的,iptables是开启的,所以我们在这里对 iptables 进行修改)的配置文件

  1. # vi /etc/sysconfig/iptables

i键进入编辑模式,在文件里追加如下一行代码

  1. -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

编辑完成后,按 Esc 键退出编辑模式,然后按:wq,保存退出。

重启下 iptables 服务就可以了

  1. # systemctl restart iptables.service

Apache 服务到此已经配置完成,现在你就可以通过IP来访问站点了,此时你会看到一个 Apache 的测试页面,如果没有显示 Apache 的测试页面说明配置还没成功。重复上面的步骤即可,这个测试页面也不是没用的,至少它在页面的右下角告诉了你它的默认站点目录 /var/www/html。如果你不满意它给你设定好的站点根目录,你也可以自定义站点目录。

如果你觉得 Apache 的测试页面不能说明什么问题,那么你可以执行下面一行命令代码,在站点目录下新建一个 index.html 文件进行测试。

  1. # echo "我是一个新站点!" >> /var/www/html/index.html

刷新下页面后,如果页面显示内容为:“我是一个新站点!”,则说明 Apache 配置成功了。

自定义站点目录

改变 Apache 默认的站点根目录,我们先通过下面的命令代码创建新站点目录,这例子中我们直接在 Apache 站点根目录下直接创建一个目录,至于这个站点目录其实放到哪都没问题。作为例子,就怎么简单怎么来就好,能把问题说清楚就够了。

输入下面命令行,在 Apache 默认的站点根目录新建一个目录 yunkus.com

  1. # mkdir /var/www/html/yunkus.com

这一步做完之后,我们还得修改下 Apache 的配置文件

输入下面的命令行

  1. # vi /etc/httpd/conf/httpd.conf

定位到下面这一行代码

  1. DocumentRoot "/var/www/html"

修改成

  1. DocumentRoot "/var/www/html/yunkus.com"

这样Apache 的站点根目录就更改成了/var/www/html/yunkus.com,当你在地址栏中输入服务器的IP时默认就会访问yunkus.com目录了。

但在这里不说说另一种情况是不行的,因为如果你完完全全地更改了站点的根目录后,你不仅要修改 DocumentRoot “/var/www/html” ,你还得修改其它地方,下面我再举一个例子。

如:我们想把站点的根目录改成/home/wwwroot/yunkus.com 目录下。

我们首先要做的就是创建这个目录

  1. # mkdir -p /home/wwwroot/yunkus.com

进入配置文件

  1. # vi /etc/httpd/conf/httpd.conf

定位到 DocumentRoot “/var/www/html/” 把

  1. DocumentRoot "/var/www/html"

修改成

  1. DocumentRoot "/home/wwwroot/yunkus.com"

除了修改这里外,我们还得多修改一个地方,定位到

  1. # Further relax access to the default document root:
  2. <Directory "/var/www/html">

按下i键进入编辑模式,把上面的代码改成

  1. # Further relax access to the default document root:
  2. <Directory "/home/wwwroot/yunkus.com">

为了方便你定位,我把它上一行注释的代码也复制过来了。你只需要关心第二行代码就行。改完后,按 Esc 键退出编辑模式,再按:wq退出保存。

 注意:记得重启 Apach 服务!

  1. # systemctl restart httpd.service

现在你就可以访问站点试试了。如果你站点目录下没有任何文章,那么当你访问时就会出现 Apache 测试页面,这是再正常不过了,但如果你想访问这个站点目录下的其它文件如:index.html (默认的访问文件格式)时,不管你怎么刷新,浏览器还是显示 Apache 测试页面,这又是为什么呢?原来,我们还没给这个站点目录相应的权限(默认是750),所以给目录修改权限势在必行。

执行下下命令行

  1. # chmod -R 755 /home/wwwroot/yunkus.com

 注意:R 要大写。

现在你再刷新试试,现在访问 index.html 应该没什么问题了。

相关命令

在这里为了方便你学习Linux的相关命令,我把本文中所涉及到的命令重新整理出来,这样可以让你对Linux的命令行有一个更加全面的了解。

Apache 服务安装

  1. # yum install httpd

开启 Apache 服务

  1. # systemctl start httpd.service

重启 Apache 服务

  1. # systemctl restart httpd.service

停用Apache 服务

  1. # systemctl stop httpd.service

查看Apache 服务状态

  1. # systemctl status httpd.service

重启服务器自动启动Apache 服务

  1. # systemctl enable httpd.service

打开Apache 配置文件

  1. # vim /etc/httpd/conf/httpd.conf

iptables 防火墙

系统默认情况下iptables 防火墙服务是开启的。

编辑 iptables 防火墙配置文件

  1. # vi /etc/sysconfig/iptables

查看 iptables 防火墙服务

  1. # systemctl status iptables.service

重启服务器自动启动 iptables 服务

  1. # systemctl enable iptables.service

开启 iptables 防火墙服务

  1. # systemctl start iptables.service

重启 iptables 防火墙服务

  1. # systemctl restart iptables.service

关闭 iptables 防火墙服务

  1. # systemctl stop iptables.service

firewalld 防火墙

系统默认情况下firewalld防火墙是关闭的。

编辑防火墙配置文件

  1. # vi /etc/sysconfig/iptables

查看 firewalld 防火墙服务

  1. # systemctl status firewalld.service

重启服务器自动启动 firewalld 服务

  1. # systemctl enable firewalld.service

开启 firewalld 防火墙服务

  1. # systemctl start firewalld.service

重启 firewalld 防火墙服务

  1. # systemctl restart firewalld.service

关闭 firewalld 防火墙服务

  1. # systemctl stop firewalld.service

相关资料

视频教程:安装与配置 Apache 服务

文章转至云库网

Linux VPS修改Apache默认80端口为其他端口

本文以Centos 7为例,需要修改Apache的80端口的话,只需要编辑/etc/httpd/conf/httpd.conf文件,把里面的 Listen 80 改成你需要到端口,然后保存就行了。

保存完毕后重启Apache服务,具体命令如下:

vim /etc/httpd/conf/httpd.conf

按i进入编辑模式,找到Listen 80,修改为你需要到端口。

按ESC退出 :wq 保存并退出

重启httpd服务 systemctl restart httpd.service

清理Chrome Secure Shell扩展的known_hosts文件

Secure Shell是Chrome浏览器上面一个支持ssh管理的扩展,使用过程中如果你vps更换了系统,那么连接到时候会提示:

Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /.ssh/known_hosts:1
ECDSA host key for 167.160.189.78 has changed and you have requested strict checking.
Host key verification failed.
NaCl 插件已退出,状态代码为:255。
重新连接(R)、选择其他连接(C)或退出(E)

解决这个问题到方法就是在Secure Shell界面打开chrome到开发者工具,然后输入下面的代码回车,提示true就可以了。

term_.command.removeAllKnownHosts()

例如下面这个样子

init: hterm nassh_deps.concat.js:191
init: nassh nassh_deps.concat.js:191
init: gnubby probe nassh_main.js:39
您知道吗?我们提供了一个专用的选项页面。
您再也不必直接修改 term_ 了!
chrome-extension://iodihamcpbpeioajjeobimgagajmlibd/html/nassh_preferences_editor.html
plugin exit: 255 nassh.html#profile-id:50ce:1
NativeClient: NaCl module crashed
nassh_command_instance.js:950 loading plugin failed ProgressEvent
errorHandler @ nassh_command_instance.js:950
nassh_deps.concat.js:6333 No definition for key r (keyCode 229)
hterm.Keyboard.onKeyDown_ @ nassh_deps.concat.js:6333
nassh_command_instance.js:1164 plugin exit: 255
nassh_command_instance.js:1261 Attempt to write to unknown fd: 2
nassh.CommandInstance.onPlugin_.write @ nassh_command_instance.js:1261
nassh.html#profile-id:50ce:1 NativeClient: NaCl module crashed
nassh_command_instance.js:950 loading plugin failed ProgressEvent
errorHandler @ nassh_command_instance.js:950
term_.command.removeAllKnownHosts()
true