腾讯云建站+lnp

很多人之前并没有接触 linux 系统,但同样渴望在 linux 下搭建服务,以及体验我们各个产品。 Linux  当然是有着无与伦比的稳定性和高效率。很多人因为它看似复杂的命令行界面望而却步。
今天,我为大家一步一步 安装  nginx + php  实现  lemp  环境。 由于  mysql  对于我们接入 sdk 并没有什么大用处。 这里就暂时不讲 mysql  的安装 。

本安装方法采用的业界最常见的编译安装 nginx + php-fpm  方法, 因此完全可以应用于正常的企业环境中。 看似可能有点点的复杂 但按照本教程 一步一步来绝对没问题。 之后,使用过程中也很省心。 下面正式开始。

现在,你有的 仅仅是 从腾讯云购买了一台 云主机( cvm )。里面 可能会有一个操作系统(我用的 centos6.3 32 位的)。 以及 root  账号和密码、还有 一个 提供给你的公网 ip  地址。 其他的什么都没有 , 系统空空如也。

1.登陆系统
首先我们 需要登录 系统的 工具 。 这边 我使用的 是  CRT(SecureCRT)  这个远程工具 ,当然 你使用  xshell 什么的 都可以 全凭个人习惯了。
腾讯云建站+lnp_第1张图片

这个软件上来 是这个界面的   点  file   下的  quick Connect  输入  IP  以及  root  账号 登录 , 进入之后会提示你 输入密码  输入密码后 进入 界面 是这个样子 (见下图)

腾讯云建站+lnp_第2张图片
这会儿小白同学又问了,  咦为啥你的是绿色的? 这个,可以去设置的。。默认的 那个 确实有点不好看 个人喜欢绿色这个风格。 但对于结果影响不大 这里就 不讲怎么弄了 。
总之你现在已经成功登陆到了 你的 系统中去了。

2.安装ftp服务
一会儿,我们需要把很多文件上传到服务器中, 所以配置一个 ftp  服务器是很有必要的。
腾讯云的 cvm 为我们提供了 很多的 yum 源。 供我们 下载。  ftp  我们只需 yum  安装即可。
不懂得同学 无脑 敲 下列命令

yum  -y install vsftpd   

之后 回车

    腾讯云建站+lnp_第3张图片
然后就出现 上面 这个 样子 的 界面了 。。。


这样我们的 ftp  服务就安装完成了。

安装了  ftp  服务 需要启动它

我们 用    service vsftpd start  这个 命令 开启 ftp  服务。如图:


零基础 编译安装 nginx + php 环境 极其详细 小白版
开启了  ftp  服务 我们就可以 利用本地的  windows ftp 上传工具 来 给你的 云主机 上传 文件了 。值得注意的是  root  用户 默认不能 作为 ftp  用户来上传。 所以 我们需要 本地创建一个 用户 。

敲命令    useradd xiaoming   回车 之后 输入  passwd xiaoming   回车  后 输入你的 密码 和 确认 你的密码。   我用的密码比较简单就用  123456  这个密码吧

腾讯云建站+lnp_第4张图片

大体就是 这个样子的  中间 有个 警告。。。一开始我 两次密码 不一致 所以 让我 重新输入了。 后面 那个 警告 就是我密码设置的 太简单了 这个 。。 你们可以设置的难一点嘛。。


好了,现在你有了一个用户叫做  xiaoming   我们可以用他来给服务器上传文件了。

现在 需要我们操作  你本地  windows  了 。我们 需要一个  ftp 上传工具。  这里 我用的是  FlashFXP  这个工具
腾讯云建站+lnp_第5张图片

进入后,大致是这个界面。 点击左上角  会话  之后,点快速连接 进入如下界面


腾讯云建站+lnp_第6张图片
点击 连接  即可  连接到 服务器

腾讯云建站+lnp_第7张图片
之后你就可以把你的本地文件很方便的上传到你的服务器当中了。


因为我们没有配置 ftp  服务器 所以上传的默认位置是你登录账号  xiaoming   的 家目录下 。

默认 我们上传的东西 都在这儿。   /home/xiaoming/  这个 文件夹下。

零基础 编译安装 nginx + php 环境 极其详细 小白版
好了 至此 我们 的 ftp  服务 也 建好了 。

3.基本的开发工具 安装

这一步 很简单  编译安装软件 需要提前安装编译环境 。 我们 可以直接  yum  获得。 照着我的 命令 直接敲 就对了。

yum -y groupinstall "Development tools" "Compatibility Libraries"  回车

yum -y install pcre-devel openssl-devel libxml2-devel bzip2-devel libcurl-devel  

好了 搞定  很简单吧 。

腾讯云建站+lnp_第8张图片


安装过程中  需要耐心等待 因为 要装很多 东西。


这俩命令输完就搞定了基本的编译环境下面就可以正式安装服务了。

4.安装nginx 
我这边使用的版本是 nginx-1.8.0.tar.gz  你当然可以使用更高的版本 无所谓的 。

直接利用刚才的 ftp  把源码包上传到服务器上。

腾讯云建站+lnp_第9张图片

直接 拖过去 就可以 。


之后我们就可以在 服务器看到了

腾讯云建站+lnp_第10张图片
敲 命令  cd  /home/xiaoming   
tar  xf nginx-1.8.0.tar.gz -C /usr/src/   
cd  /usr/src/nginx-1.8.0/  


之后 你可以  ls   看一下  当前目录是不是 这样的  

腾讯云建站+lnp_第11张图片

之后  

   1. 添加  nginx  用户

groupadd -r nginx
useradd -r -g nginx nginx

你可能 收到 提示 已经有了  nginx  用户 和 组 这个无所谓  有了 更好。。


2. 接着开始编译和安装:

./configure \
  --prefix=/usr/local/nginx \
  --sbin-path=/usr/local/nginx/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=nginx \
  --group=nginx \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_mp4_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --http-client-body-temp-path=/var/tmp/nginx/client/ \
  --http-proxy-temp-path=/var/tmp/nginx/proxy/ \
  --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
  --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
  --http-scgi-temp-path=/var/tmp/nginx/scgi \
  --with-pcre
回车

直接  复制粘贴 没啥 好说的

注意 :  当前 所在的目录 一定是   /usr/src/nginx-1.8.0/   这个 目录  就是我上面截图给你样子。


上面那个 没问题  就继续  敲命令 :

make && make install

腾讯云建站+lnp_第12张图片


这些都搞定  看到的 就是这个样子 。





3. nginx 提供 SysV init 脚本 :

利用   vim  /etc/rc.d/init.d/nginx
下面 这些都可以直接复制的
新建文件 /etc/rc.d/init.d/nginx ,内容如下:
#!/bin/bash
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}

restart() {
    configtest || return $?
    stop
    sleep 1
    start
}

reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}

force_reload() {
    restart
}

configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
    status $prog
}

rh_status_q() {
    rh_status >/dev/null 2>&1
}

case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

而后为此脚本赋予执行权限:
chmod +x /etc/rc.d/init.d/nginx

添加至服务管理列表,并让其开机自动启动:
chkconfig --add nginx
chkconfig nginx on

而后就可以启动服务并测试了:
service nginx start

你也可以测试 一下

service nginx restart
确认一下 是否 真的  可以了
我的 出现了 这个 问题。。。
腾讯云建站+lnp_第13张图片

提示 我们 有个 文件夹 没创建 。 那就 创建 一下喽
  mkdir  -pv  /var/tmp/nginx/client/


腾讯云建站+lnp_第14张图片

然后 就可以喽 ! 至此 我们  nginx  服务 也 配置好了 。

简单 测试 一下 嘛





cd  /usr/local/nginx/html/

ls  你会 看到

零基础 编译安装 nginx + php 环境 极其详细 小白版


修改 其中的 index.html  的内容
腾讯云建站+lnp_第15张图片

就 简单 写一句话 就好了  然后 现在 可以用 浏览器 访问下 你的  ip

腾讯云建站+lnp_第16张图片
好了  现在 你的  nginx  配置 完成喽 。

是不是很激动  呢 ?

5.安装php fastcgi
下面开始 安装 php   我们采用的安装包 php-5.6.2.tar
1. 首先 还是 把 源码包 拷贝到服务器上面去。 利用 ftp
腾讯云建站+lnp_第17张图片

2. 把 源码包解压缩 到  /usr/src/  目录下



cd  /home/xiaoming

tar xf php-5.6.2.tar.gz -C /usr/src/

cd  /usr/src/php-5.6.2

ls

此时 你看到的 应该是这样。。

腾讯云建站+lnp_第18张图片


密密麻麻 很多 文件 。 不过不要紧,接下来操作很简单。

3.. 编译 安装
当然在编译前还给确认编译环境

保险起见,我们再装一个组
执行命令

yum -y groupinstall "X Software Development"


这句话可加可不加都不影响

之后 复制下面这一串命令 (注意 这些是 一条命令 这些参数都要写上)

./configure --prefix=/usr/local/php --enable-fpm --enable-sockets --enable-sysvshm   --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml  --with-mhash  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl
--------------------------------- 分割线 ------------------------------------------------------------------------
下面这个参数 如果你还有 mysql 就把这句话加上 对应的 都是mysql 的路径
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config



执行 成功 会出现 如下 界面 :


腾讯云建站+lnp_第19张图片


之后  
make & make intall

应该 会 开始 滚屏了

腾讯云建站+lnp_第20张图片


Php  编译时间会很长耐心等待下吧。



好了 经过一段时间 的 疯狂 滚屏 我们终于编译好了 php
腾讯云建站+lnp_第21张图片




4.为 php 提供配置文件

cp php.ini-production /etc/php.ini

5.为 php-fpm 提供 Sysv init 脚本,并将其添加至服务列表

cp sapi/fpm/init.d.php-fpm  /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on


6.为 php-fpm 提供配置文件:

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

7.编辑 php-fpm 的配置文件:

vim /usr/local/php/etc/php-fpm.conf
配置 fpm 的相关选项为你所需要的值,并启用 pid 文件(如下最后一行):





pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid  

其中 这些 参数 根据你 服务器的性能进行 调整   

最后 一行的  pid  一定要 写成 那个样子
腾讯云建站+lnp_第22张图片


接下来就可以启动 php-fpm 了:
service php-fpm start

使用如下命令来验正(如果此命令输出有中几个 php-fpm 进程就说明启动成功了):
ps aux | grep php-fpm


腾讯云建站+lnp_第23张图片


6.整合nginxphp5
1、编辑 /etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

启用如下选项:
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }


腾讯云建站+lnp_第24张图片

注意到 这些 “ # ” 了么  把这些 把我 圈起来的 那些全都 删掉 前面的 “ #

就成了 这样

腾讯云建站+lnp_第25张图片



还是 这个文件

在所支持的主页面格式中添加 php 格式的主页,类似如下:
location / {
            root   html;
            index  index.php index.html index.htm;
        }


把 这个

腾讯云建站+lnp_第26张图片
改为 这样:

腾讯云建站+lnp_第27张图片


2、编辑 /etc/nginx/fastcgi_params

vim /etc/nginx/fastcgi_params

打开后 大概是这样的 :
腾讯云建站+lnp_第28张图片


之后 这个 文件 所有的 内容全部删除掉


腾讯云建站+lnp_第29张图片

复制 粘贴 下面的 内容到这个文件



fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;


腾讯云建站+lnp_第30张图片


保存 退出


3. 而后重新载入 nginx 的配置文件:
service nginx reload



腾讯云建站+lnp_第31张图片

7.测试
进入 网站根目录
cd  /usr/local/nginx/html/

编辑 一个  php  文件

vim test.php

内容如下:

<?php
phpinfo();
?>

腾讯云建站+lnp_第32张图片


保存 退出 即可 ;





之后我么你访问 网页  



腾讯云建站+lnp_第33张图片


看到这个页面, 此时大功告成 一个 比较专业级的环境就这样搭建好了

你可能感兴趣的:(腾讯云建站+lnp)