从零开始建站 centos+nginx+php - Go语言中文社区

从零开始建站 centos+nginx+php


1.简言

达者回头看往往觉得建站就是非常简单的事情:买个服务器,申请域名备案(等着审核),然后一键集成环境,然后把源码部署到服务器上,最后使劲用力敲下回车启动服务器。整个过程乏善可陈没什么需要注意的,就是买买买,点点点就可以了。

但是事实上从零开始建站对于初学者而言却并不是什么十分友好的体验,甚至说是一个比较糟心的过程也不为过。鄙人也是一个走在编程路上的学习者,最近对于建站比较感兴趣,因此打算自己动手弄一个网站顺便培养一下这方面的技巧。顺便把过程记录下来,希望能够对后来和我一样的萌新有一些帮助。主要记录的还是配置环境方面的内容,毕竟这里面的坑比较多。

2.基本情况概述

我个人而言,对建站方面所掌握的知识只有:

  1. html+css+js
  2. php(ps:仅掌握基本语法)
  3. linux系统操作(ps:仅了解简单linux指令)
  4. nginx(ps:今天刚刚听说)

可以说是非常可怜又单薄的知识体系,不过没关系,我有信心通过这次建站将知识体系丰满起来。嗯至少胖他一斤!

3.开始动手--申请服务器

万事开头难,基本上对我来说第一步应该做什么我完全没有任何主意。不过好在幸运的是之前有一个朋友,他买过一个服务器貌似在闲置,我就直接借来用学习了。

服务器具体信息为:centos7纯净版(linux下的一种没有图形界面的操作系统,类似于windows操作系统中的cmd一样),2G内存,40G硬盘,5Mb带宽。嗯,大致是这样反正自己学习肯定是足够用了。至于为什么选择没有图形化的centos,当然是朋友的借来用免费还挑什么呢?正好强迫自己再好好学习一下linux的指令操作。

这里提一句,买完了服务器之后再阿里云控制台中,是能够看到自己服务器的公网ip地址和内网ip地址的。公网ip地址(xx.xxx.xx.xx)就是提供给外人用来访问你自己服务器的,加上域名绑定就能够完成类似于输入www.frank.com,就能找到你服务器这样的功能。当然我只是学习,域名还需要自己花钱,想了想暂时没弄。(上面的域名是我随便写的,不是我自己的,声明一下,避免误会。)

4.配置服务器--创建后台环境

既然有了服务器,那就配置服务器准备为网站构建后台。这里澄清一个概念:

  • 服务器:可以简单理解为一台电脑
  • 后台:一组或一个运行在服务器电脑上的程序

所以这里配置服务器的含义就是,刚买来的服务器很显然是一个空白的设备,类似于我们新买来了一台电脑。只不过这台电脑有一个特殊的身份证(公网ip)。如果我们想要让后台在服务器上运行,服务器就必须进行一定的改造。

我这里选择的是使用nginx,一是因为没用过,二是因为有相关从业朋友推荐使用。所以最终选择了nginx。简单解释可以理解为nginx就是一个能够让你的服务器具备【让后台软件跑起来】的“软件”,它的专业名字是轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

4.1 安装依赖 make

安装依赖的路径随便,家目录~或者根目录/都行:[root@izm5eef7rof3l3 ~]# yum -y install gcc automake autoconf libtool make 

yum -y install gcc automake autoconf libtool make 

4.2 安装依赖 g++

同上,依赖的路径随便

yum install gcc gcc-c++

4.3 安装pcre库

选定安装目录/usr/local/src (后面的zlib、openssl和nginx都是在这个目录下下载安装的)

cd /usr/local/src

然后安装pcre库(具体为什么暂时不太清楚,只是查到资料说必须要),这一步是下载库文件的“压缩包”

wget ftp://ftp.csx.com.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

下载完毕后解压压缩包

tar -zxvf pcre-8.39.tar.gz

进入解压的文件夹

cd pcre-8.39

理解为编译?

make

最后执行完毕后执行安装

make install

pcre库安装完毕!

4.4 安装zlib库

步骤与安装pcre完全相同,只不过下载压缩包地址有区别。具体指令如下

wget http://zlib.net/zlib-1.2.11.tar.gz

tar -zxvf zlib-1.2.11.tar.gz

cd zlib-1.2.11

make

make install

4.5 安装openssl

略有不同,openssl不需要进行make和make install,因此步骤相较于pcre库和zlib库来讲简单不少。

wget https://www.openssl.org/source/openssl.1.0.1t.tar.gz

tar openssl.1.0.1t.tar.gz

4.6 安装nginx

同pcre库和zlib库步骤,仍需make和make install

wget http://nginx.org/download/nginx_1.1.10.tar.gz

tar nginx_1.1.10.tar.gz

cd nginx_1.1.10

make

make install

5.配置服务器--创建php运行环境

5.1 下载php

直接执行指令,并等待询问提示的时候直接输入y就行。

yum install php

5.2 下载php扩展

直接执行指令,并等待询问提示的时候直接输入y就行。

yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

5.3 端口配置与php服务开启*

去到 /usr/local/nginx/conf下,执行vim nginx.conf指令,并对内容进行两处主要修改。一处是配置ip和端口,一处是开启php服务

... 

    server {
        listen       默认80,改成你要的比如8084之类的就行;
        server_name  改成你的公网ip端口;

      ...
        这个位置下面的代码原本是默认使用井号注释掉的,
        一定一定要打开!!!!
        不然后台不能运行php文件!!!
        网上很多教程并没有提到这一点,我在这里摔了很久的坑!!!

         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;
	    include        fastcgi.conf;
        }

       ...

}

5.4 阿里云终端后台添加安全策略*

此时去阿里云后台,添加安全策略,把刚才我们设置的对外访问端口(8084那个位置你写的啥就是啥)设置为白名单。具体怎么设置可以参考官方提供案例。后续我会追加图片。切记一定一定一定要开通这个安全策略,否则你这个端口就是关闭的死都调不通的。

5.5 修改www.conf文件,并创建nginx账户*

这里是另外一个天坑,去路径 /etc/php-fpm.d下,vim www.conf指令执行。将Apache改成nginx

...

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = 默认是Apache,改成nginx
#user = root
; RPM: Keep a group allowed to write in log dir.
group = 默认是Apache,改成nginx
#group = root

; Choose how the process manager will control the number of child processes.

...

修改完毕后esc,然后:wq保存退出。然后执行一次useradd nginx注册nginx用户!!!!!!!!!!!不然会无法开启服务,我暂时理解为linux必须有一个用户来支持它做这件事,我们在设置里面说有nginx但是并不存在这个用户。因此必须这么创建出来在运行的时候才不会报错。

6. 准备部署项目

其实最麻烦的服务器配置部分到这基本就暂时告一段落了。目前为止服务器中路径 /usr/local/nginx/html 路径文件就是我们的后台文件夹。我们把需要的文件“上传”到这个文件夹里面,就完成了所谓的部署操作。至于如何上传,我才用的是ftp服务器,直接拖拽完成的上传。

7.开启服务器

开启服务器后台指令:安装目录地址 -c 配置文件地址

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

开启php服务指令:

systemctl start php-fpm.service

当这两个指令执行完毕后,就可以去公网ip+设置的端口号访问自己的网站了。

接下来就逐渐丰满你自己的网站吧。

 

感谢:

等诸多前辈的文章,对我学习带来的启发。还有很多前辈的文章未能一一列举,如有冒犯还望海涵。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u013792921/article/details/88198516
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 19:39:54
  • 阅读 ( 1252 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢