VPS CentOS-6 下 LNMP HTTP web服务器的搭建步骤

笔者于昨天新入手了一个 VPS, 来作为个人博客wid实验室(widlabs.com)开发的实验环境。所以在这篇博文中, 将介绍 CentOS 6 下 LNMP HTTP 环境的搭建, 从使用 ssh 登录VPS讲起, 一直到将域名解析到服务器IP上这一完整的网站搭建流程。

新入手的VPS基本配置如下:

虚拟化技术: OpenVZ操作系统: CentOS-6 x86_64 BaseCPU: Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz内存: 2GB硬盘: 50GB HDD

一、准备工作 ssh登录VPS、scp上传文件

ssh 登录VPS
在Linux下, 要远程管理一台服务器, 是非常轻松愉快的一件事, ssh 命令用来登录远程主机, 登录后进入shell命令行模式, 然后就像在终端操作自己机器的一样来操作远程主机就可以了, 唯一需要注意的就是不要把命令写错了, 如  rm -rf ./*  写成  rm -rf /* 。

ssh 命令的一般用法为:

ssh 用户名@主机名 -p 主机ssh服务端口号

ssh服务的默认端口号为22, 当使用默认端口时, -p选项是可选的, 第一次远程连接某个主机时, 会提示主机真实性不能确认, 询问是否继续(yes/no), 输入"yes"继续即可连接, 以登录 198.98.117.120 为例:

carey@E530:~$ ssh root@198.98.117.120 -p 22

scp 上传文件

scp命令可实现从本机与远程主机间文件的相互复制, 基于ssh服务, 一般用法如下:

从本机复制文件到远程主机:

代码如下:

scp -P ssh服务端口号 本地文件路径 目标主机用户名@主机名:存放路径

从远程主机复制文件到本地:

代码如下:

scp -P ssh服务端口号 目标主机用户名@主机名:文件路径 本机存放路径

以上传本次配置LNMP环境所需的文件为例, Nginx的源码包 nginx-1.6.0.tar.gz, PHP的源码包 php-5.5.10.tar.gz, 新起一个终端:

代码如下:

carey@E530:~/download$ scp -P 22 nginx-1.6.0.tar.gz root@198.98.117.120:/home/upload
carey@E530:~/download$ scp -P 22 php-5.5.10.tar.gz root@198.98.117.120:/home/upload

二、编译安装 Nginx、PHP

首先查看下VPS的CentOS系统中预装的一些软件包:

yum list installed

清理掉自带的Apache、PHP、MySQL服务(如果存在), 执行命令:

yum remove httpd mysql-server mysql php

检查是否已安装GCC, 执行命令 gcc -v 未安装则执行yum方式安装:

yum install gcc

安装GCC是必要的, 因为下面我们将对Nginx、PHP进行编译方式安装。
安装 Nginx
创建Nginx、PHP专用用户与用户组

[root@widlabs ~]# groupadd www
[root@widlabs ~]# useradd -s /sbin/nologin -M -g www nginx

安装Nginx所需依赖

[root@widlabs ~]# yum install pcre-devel
[root@widlabs ~]# yum install zlib-devel

进行nginx编译安装

代码如下:

[root@widlabs ~]# cd /home/upload        #进入nginx源码包所在目录
[root@widlabs upload]# tar tar zxvf nginx-1.6.0.tar.gz
[root@widlabs upload]# cd nginx-1.6.0
[root@widlabs nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=www --with-pcre
[root@widlabs nginx-1.6.0]# make
[root@widlabs nginx-1.6.0]# make install

安装 PHP
安装 PHP 所需依赖

代码如下:

[root@widlabs nginx-1.6.0]# cd /home/upload        #进入php源码包所在目录
#若 wget 命令可用, 则执行:
[root@widlabs upload]# wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.6.tar.gz
#注: wget不可用时, 可先 yum install wget, 或到 ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/ 下载libmcrypt-2.5.6.tar.gz源码包, 再使用scp命令上传到VPS;
[root@widlabs upload]# tar zvxf libmcrypt-2.5.6.tar.gz
[root@widlabs upload]# cd libmcrypt-2.5.6
[root@widlabs libmcrypt-2.5.6]# ./configure --prefix=/usr/local/libmcrypt
[root@widlabs libmcrypt-2.5.6]# make
[root@widlabs libmcrypt-2.5.6]# make install
[root@widlabs libmcrypt-2.5.6]# cd ..
[root@widlabs upload]# yum install libxml2-devel

进行PHP编译安装

代码如下:

[root@widlabs upload]# tar zxvf php-5.5.10.tar.gz
[root@widlabs upload]# cd php-5.5.10
[root@widlabs php-5.5.10]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysql --with-mysqli --with-pdo-mysql --enable-opcache --enable-mbstring --enable-mbregex --with-mcrypt=/usr/local/libmcrypt --with-mhash --enable-cgi --enable-fpm         #可根据自身需要增加相应编译选项
[root@widlabs php-5.5.10]# make
[root@widlabs php-5.5.10]# make install
[root@widlabs php-5.5.10]# cp php.ini-development /usr/local/php/php.ini
[root@widlabs php-5.5.10]# cd /usr/local/php/etc
[root@widlabs etc]# cp php-fpm.conf.default php-fpm.conf

三、安装MySQL

MySQL直接通过yum方式安装即可:

[root@widlabs ~]# yum install mysql mysql-server mysql-devel

四、配置 Nginx、PHP
Nginx 的配置

代码如下:

[root@widlabs ~]# cd /usr/local/nginx/conf
[root@widlabs conf]# cp nginx.conf nginx.conf.bak
[root@widlabs conf]# vi nginx.conf

server {
        listen       80;
        server_name  widlabs.com www.widlabs.com;            #网站域名

#charset koi8-r;

#access_log  logs/host.access.log  main;

location / {
            root   html;
            index  index.html index.htm index.php;        #添加 index.php
        }

#error_page  404              /404.html;

# redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # 去掉这几行的注释并小做修改
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  改为
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

# deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

PHP 的配置

代码如下:

[root@widlabs ~]# vi /usr/local/php/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = PRC

五、测试配置是否正确

代码如下:

[root@widlabs ~]# cd /usr/local/nginx/html      #/usr/local/nginx/html 即为网站默认工作目录
[root@widlabs html]# echo '<?php echo phpinfo(); ?>' > test.php         #新建 test.php 作为php执行测试
[root@widlabs html]# service mysqld start                               #启动MySQL服务
[root@widlabs html]# /usr/local/php/sbin/php-fpm                        #启动PHP FastCGI管理器
[root@widlabs html]# /usr/local/nginx/sbin/nginx                        #启动Nginx

通过浏览器访问主机IP, 以及 test.php, 判断Nginx是否已正常工作。

六、Nginx 网站服务的开机自启动

代码如下:

[root@widlabs ~]# vi /etc/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
#添加
/sbin/service mysqld start
/usr/local/php/sbin/php-fpm
/usr/local/nginx/sbin/nginx

重启VPS判断开机自启动是否正确:

[root@widlabs ~]# reboot now

七、解析域名到服务器IP

登录域名服务商提供的管理面板, 选择域名解析, 类型选择A记录, 记录值为指向的主机IP。

到这里, 整个LNMP的HTTP基础环境就算搭建完成了。

(0)

相关推荐

  • 详解CentOS 7.0源码包搭建LNMP 实际环境搭建

    Centos7+Nginx1.11.7+MySQL5.7.16+PHP7.1.0+openssl-1.1.0c 一.linux 系统限制配置 1.关闭系统防火墙 systemctl stop firewalld.service 关闭防火墙 systemctl disable firewalld.service 禁用防火墙 2.关闭SElinux sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config setenforce 0 se

  • 在Mac OS下搭建LNMP开发环境的步骤详解

    一.概述 大家应该都知道LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统.代表版本有:debian.centos.ubuntu.fedora.gentoo等.Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器.Mysql是一个小型关系型数据库管理系统.PHP是一种在服务器端执行的嵌入HTML文档的脚本语言.这四种软件均为免费开源软件,组合到一

  • Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境

    Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且Mac本身自带apache和php,在brew的帮助下非常容易手动搭建,可控性很高. Brew brew对于mac,就像apt-get对于ubuntu,安装软件的好帮手,不能方便更多- brew的安装方式如下: 复制代码 代码如下: ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/i

  • PHP程序员玩转Linux系列 lnmp环境搭建

    PHP程序员玩转Linux系列文章: 1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目.CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点.包安装方式就一个关键单词就是yum. 解决找不到nginx包的问题 我先

  • 基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS

    虽然开始在MySQL5.5.8的编译过程中遇到了一些问题,因为之前从未接触过Cmake方式的编译,在查阅官方手册并结合谷歌,终于把问题搞定了. 目前Nginx的worker_processes设置为4,php-fpm设置为dynamic模式,max_children=32,start_servers=8,min_spare_servers=4,max_spare_servers=16,max_request=512的环境下,540MB内存剩余380MB,相比之前用Zend Server CE搭建

  • centos 7.2下搭建LNMP环境教程

    本机环境:服务器是阿里云ECS:使用的镜像是:公共镜像 CENTOS 7.2 一.nginx安装 1.下载对应当前系统版本的nginx包(package) ​ wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 2.建立nginx的yum仓库(默认yum是没有nginx的) ​ rpm -ivh nginx-release-centos-7-0.el7.ng

  • Ubuntu 搭建基于Docker的LNMP+Redis的开发环境(图文)

    Ubuntu 搭建基于Docker的LNMP+Redis的开发环境 服务器环境:Ubuntu 14.04 1.安装Docker 1.1 执行update命令,和服务器同步软件包,执行apt-get install * 时可以下载最新的软件. 1.2 安装Docker和创建软链接   1.3 启用Docker服务 2. 获取搭建环境所需镜像 2.1 MySQL镜像 2.2 Redis镜像   2.3 nginx-php-fpm镜像 2.4 查看已下载的镜像 对于Docker初学者来说,可以使用现有

  • VPS CentOS-6 下 LNMP HTTP web服务器的搭建步骤

    笔者于昨天新入手了一个 VPS, 来作为个人博客wid实验室(widlabs.com)开发的实验环境.所以在这篇博文中, 将介绍 CentOS 6 下 LNMP HTTP 环境的搭建, 从使用 ssh 登录VPS讲起, 一直到将域名解析到服务器IP上这一完整的网站搭建流程. 新入手的VPS基本配置如下: 虚拟化技术: OpenVZ操作系统: CentOS-6 x86_64 BaseCPU: Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz内存: 2GB硬盘: 5

  • 在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法

    Lighttpd 是一款开源 Web 服务器软件.Lighttpd 安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化.相对于其它的 Web 服务器而言,Lighttpd 占用内存更少:因其对 CPU 占用小和对处理速度的优化而在效率和速度方面从众多 Web 服务器中脱颖而出.而 Lighttpd 诸如 FastCGI.CGI.认证.输出压缩.URL 重写等高级功能更是那些面临性能压力的服务器的福音. 以下便是我们在运行 Ubuntu 15.04 或 CentOS 7 Linux 发行

  • CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

    本文主要介绍的是在CentOS 7.2安装部署邮件服务器(Postfix)的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的.最早在1990年代晚期出现,是一个开放源代码的软件. 注意:以下所有配置的命名都是根据主机的hostname变量来配置的,如果hostname更换了的话,需

  • Centos8搭建本地Web服务器的实现步骤

    1 概述 系统centos8,利用httpd搭建本地web服务器. 2 安装httpd sudo yum install -y httpd 3 启动服务 service httpd start 4 设置开机启动 先查看有没有设置开机启动: systemctl list-unit-files | grep httpd 没有的话设置: chkconfig httpd on 再确认一下: systemctl list-unit-files | grep httpd 5 访问 再浏览器输入内网ip地址(

  • Node.js原生api搭建web服务器的方法步骤

    node.js 实现一个简单的 web 服务器还是比较简单的,以前利用 express 框架实现过『nodeJS搭一个简单的(代理)web服务器』.代码量很少,可是使用时需要安装依赖,多处使用难免有点不方便.于是便有了完全使用原生 api 来重写的想法,也当作一次 node.js 复习. 1.静态 web 服务器 'use strict' const http = require('http') const url = require('url') const fs = require('fs'

  • Python实现Web服务器FastAPI的步骤详解

    目录 1.简介 2.安装 3.官方示例 3.1 入门示例 Python测试代码如下(main.py): 3.2 跨域CORS 3.3 文件操作 3.4 WebSocket Python测试代码如下: 1.简介 FastAPI 是一个用于构建 API 的现代.快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python类型提示. 文档: https://fastapi.tiangolo.com源码: https://github.com/tiangolo/fastapi

  • win10下ASP.NET Core部署环境搭建步骤

    随着ASP.NET Core 1.0 rtm的发布,网上有许多相关.net core 相关文章,今刚好有时间也在win10环境上搭建下 ASP.NET Core的部署环境,把过程记录下给大家. 1. 开发运行环境 1> Visual Studio 2015 Update 3* 2> .NET Core 1.0 for Visual Studio (包括asp.net core 模板,其中如果机器上没有.net core sdk会默认安装)地址https://go.microsoft.com/f

  • centos系统下LNMP环境一键安装

    首先,咱们用SSH登陆到操作系统中- 然后下载安装包 复制代码 代码如下: wget http://catlnmp.googlecode.com/files/lnmp1.1.zip 然后我们解压 复制代码 代码如下: unzip lnmp1.1.zip 有些没有unzip的,我们这样 复制代码 代码如下: yum install unzip 然后我们跳转到该目录 复制代码 代码如下: cd lnmp 然后我们给文件添加权限: 复制代码 代码如下: chmod +x install.sh apc.

  • centos环境下lnmp安装配置

    安装依赖库和开发环境 复制代码 代码如下: #依赖库和开发工具 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel cu

  • php下cms程序转移服务器的一般步骤

    我摸索了半天成功转移,现在给出方法. phpc程序 转移到别的服务器步骤 1.备份旧空间内程序,下载到本地. 2.备份旧空间网站数据库(备份数据在data/bakup/下) ,下载到本地. 3.下载"php的cms程序"(程序和旧空间程序安装时版本要相同)上传到新服务器,重新安装. 4.上传"旧空间内备份程序"到 新服务器 (覆盖刚安装好的php的cms程序) 5.修改congfig文件 6.将备份数据导入数据库(上传到data/bakup/下) 7.更新缓存,完成

随机推荐