1.准备工作

1.1已购买阿里云云服务器ECS

1.2域名已购买并解析成功

1.3安装有远程链接工具Xshell和文件传输工具Xftf,并链接上ECS实例

2.安装nginx(在Xshell操作)

2.1检查安装环境

Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE(Perl Compatible Regular Expression);Nginx中的Gzip用到zlib[1]

因此在安装nginx之前需要检查当前环境是否已经安装有GCC、PCRE、Zlib还有一个就是OpenSSL。

使用rpm -qa命令查看GCC、Zlib、PCRE和OpenSSL是否已安装:

# rpm -qa gcc
gcc-4.4.7-17.el6.x86_64
# rpm -qa pcre
pcre-7.8-7.el6.x86_64
# rpm -qa zlib
zlib-1.2.3-29.el6.x86_64
# rpm -qa openssl
openssl-1.0.1e-48.el6_8.3.x86_64

可知,ECS centos6.8系统下已安装有所需要的以上软件,下一步直接安装nginx。

3.下载安装nginx

3.1下载

从http://nginx.org/download/下载ngixn安装包到/usr/local/src路径下(可指定),此次选择的是nginx-1.10.3.tar.gz:

# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.10.3.tar.gz

3.2解压

# tar -zxvf nginx-1.10..tar.gz

3.3安装

3.3.1源码编译准备

使用./configure进行安装环境检查和安装配置(由于不确定默认安装路径,故指定安装路径为/usr/local/nginx),此命令会生成 Makefile:

# ./configure --prefix=/usr/local/nginx

3.3.2编译

# make

3.3.3安装

# make install

4.查看安装

# whereis nginx
nginx: /etc/nginx /usr/lib64/nginx /usr/local/nginx /usr/share/nginx

除了指定安装了nginx的路径/usr/local/nginx,其他路径的应该是nginx配置文件、可执行文件以及其他资源文件默认存放的位置吧。

5.启动nginx

nginx可执行文件存放路径: /usr/local/nginx/sbin/nginx

可进入/usr/local/nginx/sbin路径,输入 ./nginx -h命令,查看命令帮助:

# ./nginx -h
nginx version: nginx/1.10.3
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-T : test configuration, dump it and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file

也可以通过ps -A命令查看nginx进程状态,确认nginx已启动:

#ps -A | grep nginx

6.此时,输入服务器域名或公网IP,可以nginx的欢迎页面,表明nginx web服务器已经成功安装,下一步可进行相关配置。

至于为什么会出现该页面,可以查看nginx.conf,所在路径为:/usr/local/nginx/conf/ngin.conf,进入/usr/local/nginx/conf路径,输入以下命令:

# vi nginx.conf

产看到nginx.conf配置文件内容:

        location / {
root html;
index index.html index.htm;
} #error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

其中:

listener 监听端口
server_name 监听域名
location{}是用来为匹配的 URI 进行配置,URI 即语法中的“/uri/”。
location / { }匹配任何查询,因为所有请求都以 / 开头。
root指定对应uri的资源查找路径,html为相对路径,在我的服务器上完整路径为/usr/local/nginx/html/,
该路径下有一个index.html的文件,便是输入ECS实例IP或绑定的域名返回的响应内容。[2]

7.上线静态网站到服务器来完成网站简单发布

比如你已经建立了一个网站,资源文件都存放在test文件夹中,该文件下有一个index.html,路径为test/index.html。

7.1上传网站文件

通过xftp把test文件上传到/usr/local/nginx/html路径下

7.2修改nginx.conf文件

# vi ./nginx.conf

更改nginx.conf配置文件中location / {}中内容为:

location / {
root html/test;
index index.html index.htm;
}

然后,依次键入esc : wq Enter保存修改并退出

7.3重启nginx

进入/usr/local/nginx/sbin路径:

# ./nginx -s reload

然后,输入你的域名,就可以看到test/inde.html页面了,至此,完成nginx的安装和简单配置,不过此时服务器还只能处理静态资源,要提供动态的web服务,则需要其他模块来组合使用。

(ps.网上相关的内容有很多,处理更复杂需求的配置也有很多,不过我只是想通过解决简单的目的来梳理前端到后端的认知体系!我还是小白!)

[1]http://www.cnblogs.com/jtlgb/p/5809808.html
[2]http://www.cnblogs.com/skynet/p/4146083.html

ECS centos6.8系统下从nginx安装到简单网站上线配置操作的完整记录的更多相关文章

  1. Linux系统下的Nginx安装

    nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...

  2. CentOS6.5系统下RPM包安装MySQL5.6(转)

    1.查看操作系统相关信息. [root@linuxidc ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m [root@ ...

  3. centos 6x系统下源码安装mysql操作记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

  4. Unix 系统下的 Nginx 1.4.x

    Unix 系统下的 Nginx 1.4.x 本文档包括使用 PHP-FPM 为 Nginx 1.4.x HTTP 服务器安装和配置 PHP 的说明和提示. 本指南假定您已经从源代码成功构建 Nginx ...

  5. ubuntu18.04系统下用devstack安装openstack(最新版)

    ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427   前期准备: 安装git,升级pip,其他 s ...

  6. Centos系统下Docker的安装

    一.检查内核版本 安装Docker,需要linux内核大于3.10 使用uname -r 来检查 二. Centos系统下Docker的安装 1. 安装需要的软件包 yum install -y yu ...

  7. windows系统下GCC的安装与配置

    刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...

  8. windows系统下如何正确安装Cygwin(图文详解)

    我的操作系统信息是 1.在官网https://cygwin.com/install.html下载win64位安装包 选择包的下载存放目录,点击“下一步”   为了使我们安装的Cygwin能够编译程序, ...

  9. [视频]mac系统下虚拟机parallels安装ubuntu 14.04视频教程

    此文是http://www.mr-wu.cn/install-ubuntu-14-04-on-parallels-for-mac/这篇博文的补充,为整个ubuntu 14.04安装过程的视频录像. m ...

随机推荐

  1. 二、NAT(地址转换模式)

    刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择.NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网.其网络结构如下图所示: NA ...

  2. thinkphp下判断状态值语法

    在thinkphp框架下我们经常会用到状态值的判断:但是这样写会引起语法错误. <div> <if condition="{$res.status} eq '0'" ...

  3. Bzoj1496: [NOI2006]千年虫

    题面 传送门 Sol 左右可以分开搞 然后就是要形成一个类似梳子的东西 设\(f[0/1][i][j]\) \(0\)凹,\(1\)凸,\(i\)为行,可以滚一维,\(j\)为该行长度 \(f[0][ ...

  4. Web前端面试指导(十九):CSS样式-如何清除元素浮动?

    题目点评 本题属于比较常问的题目,也是在网页设计中经常遇到的问题,面试官希望通过这样的面试题来了解你对网页设计的基本功底,如果这样的题目答不出来,必会让面试官大失所望,面试成功的概率是非常小的. 答题 ...

  5. ArrayList的使用方法详解(转)

    1.什么是ArrayList    ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和I ...

  6. 解决Maven 报 Return code is: 400 , ReasonPhrase:Repository version policy: SNAPSHOT does not allow version: 2.1.0.RELEASE. 的错误

    最近在搭建公司的基础框架,业务需求用到elasticsearch,所以需要整合到基础框架里,供各业务线使用同时也便于管理,但在整合的过程中,出现了莫名的问题,同时maven的提示也不够明确. 我的版本 ...

  7. c# 依赖注入之---setterInjection(转)

    图3.1 Setter注入示意 定义一个接口: namespace SetterInjection { internal interface IServiceClass { string Servic ...

  8. 关于map容器的元素被无参初始化

    使用C++中的map容器定义一个mp,当你执行if语句判断mp[3]是否为1时,那么如果mp[3]以前不存在,此时mp[3]就会被无参初始化,second赋值为0. 以下的程序可以证明这一点.执行了第 ...

  9. UIButton中的**EdgeInsets是做什么用的?

    UIButton中的**EdgeInsets是做什么用的? UIEdgeInsetsMake Creates an edge inset for a button or view.An inset i ...

  10. 使用NSURLConnection实现大文件断点下载

    使用NSURLConnection实现大文件断点下载 由于是实现大文件的断点下载,不是下载一般图片什么的.在设计这个类的时候本身就不会考虑把下载的文件缓存到内存中,而是直接写到文件系统. 要实现断点下 ...