手把手带你搭建第一个个人网站(上)

移动开发
随着云计算普及,服务器价格可以说不断降低,因此写出这篇文章让对IT感兴趣或者想让自己变得与众不同的小伙伴们更便捷地搭建一个属于自己的个人网站。在自己的网站中秀出自己的不一样精彩!

前言

随着云计算普及,服务器价格可以说不断降低,因此写出这篇文章让对IT感兴趣或者想让自己变得与众不同的小伙伴们更便捷地搭建一个属于自己的个人网站。在自己的网站中秀出自己的不一样精彩!

一、简介

1. 服务器

这次使用的是UCloud的服务器(云主机UHost),IP使用UCloud的弹性IP(如果您使用的是其他服务器或其他友商的云主机,该文的试验步骤依然相同)。

2. 后端

后端配置统称为LNMP,LNMP=Linux+Nginx+MySQL+PHP(即Linux系统内搭建Nginx,MySQL,PHP5服务)。

Nginx:Nginx(发音同 engine x )是一个网页服务器,它能反向代理HTTP,HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。

MySQL:一个关系型数据库管理系统

PHP:一种在服务器端执行的嵌入HTML文档的 脚本语言

Linux系统是centos 6.5,其他服务用atomic包进行yum安装。

3. 前端

前端配置为WordPress,WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

WordPress配置为最新配置。(包为latest.tar.gz)

4. 服务对比

一般搭建网站服务基本都是LAMP或者LNMP(A即Apache,N即Nginx)。

  • Apache的优势:开源,稳定,模块丰富
  • Nginx的优势:消耗资源少,支持高并发连接,效率高

使用环境:

  • LNMP:节省内存、静态内容多、高并发、规模小
  • LAMP:力求稳定、动态内容多、功能多、规模大

二、后端配置

1. 准备工作

(1) 使用工具:

推荐使用xshell进行远程操作,如果您使用的是云主机,则遇到开关机或者重启机器的命令(如:reboot),需要登录控制台进行操作。

(2) linux内迅速定位到行数

冒号后输入行数,点击enter键

 linux内迅速定位到行数

图1:行数定位

(3)linux迅速定位到字符

冒号后输入 /字符,点击enter键(查找下一个,点击N)

字符定位

图2:字符定位

(4) 开通iptables(开启80,3306端口)

注:80端口开启,针对http协议(即网页);3306端口开启,针对MySQL数据库

1)添加两条iptables规则,进行开通。

  1. #vim/etc/sysconfig/iptables 
  2.  
  3.  
  4.  
  5. -A INPUT -m state --state NEW -m tcp -p tcp 
  6. --dport 80 -j ACCEPT 
  7.  
  8. -A INPUT -m state --state NEW -m tcp -p tcp 
  9. --dport 3306 -j ACCEPT 

修改iptables规则(放在22后面)

图3:修改iptables规则(放在22后面)

2)重启iptables

  1. # /etc/init.d/iptables restart 

重启防火墙

图4:重启防火墙

(5) 关闭SELinux

1)修改两条SELinux规则

  1. # vim /etc/selinux/config 
  2.  
  3.  
  4.  
  5. SELINUX=disabled 
  6.  
  7. #SELINUXTYPE=targeted 

修改SELinux规则

图5:修改SELinux规则

2)重启服务器

  1. #reboot 

(6) 安装第三方yum源

1)下载wget工具

  1. #yum install wget 

下载wget工具

图6:下载wget工具

2)下载atmoic包

注:Atomic源支持Fedora,RHEL和CentOS的YUM包管理

  1. # wget 

http://www.atomicorp.com/installers/atomic

下载atomic包

图7:下载atomic包

3)安装atomic包

  1. # sh ./atomic 

安装atomic包

图8:安装atomic包

4)更新yum源

  1. #yum check-update 

更新atomic包

图9:更新atomic包

2.安装后端服务

(1) 安装Nginx

1)删除系统自带的软件包

  1. # yum remove httpd* php* 

2)yum安装Nginx

  1. #yum install nginx -y 

安装Nginx

图10:安装Nginx

3)设置Nginx开机启动

  1. # chkconfig nginx on 

4)启动Nginx

  1. # service nginx start 

启动Nginx

图11:启动Nginx

(2) 安装MySQL

1)yum 安装MySQL

  1. #yum install mysql mysql-server -y 

注:yum install 包名 –y :自动安装包内所有,y即yes

安装MySQL

图12:安装MySQL

2)启动MySQL

  1. # /etc/init.d/mysqld start 

启动MySQL

图13:启动MySQL

3)设置MySQL开机启动

  1. #chkconfig mysqld on 

4)拷贝my-medium.cnf配置文件

  1. #cp /usr/share/mysql/my-medium.cnf 
  2. /etc/my.cnf 

注:如果/etc目录下面默认有一个my.cnf 直接覆盖即可

拷贝my-medium.cnf配置文件

图14:拷贝my-medium.cnf配置文件

5)设置MySQL的root密码

  1. #mysql_secure_installation 

点击enter

图15:点击enter

图16:输入Y,创建root密码

图17:输入两次密码

图18:移除匿名用户,输入Y

图19:不允许root最高权限远程登录,输入Y

图20:移除测试库并进行访问,输入Y

图21:重新加载特权表,输入Y

6)重启MySQL服务

  1. # /etc/init.d/mysqld restart 

重启MySQL服务

图22:重启MySQL服务

(3) 安装PHP5

1)yum安装php

  1. #yum install php php-fpm -y 

重启MySQL服务

图23:重启MySQL服务

2)安装PHP组件(PHP5支持MySQL)

  1. # yum install php-mysql php-gd libjpeg* php-imap php-ldap php-pear php-xml php-xmlrpc php-mbstring php-mcrypt 
  2. php-bcmath php-mhash libmcrypt 

安装PHP组件,选择yes

图24:安装PHP组件,选择yes

安装PHP组件最后结果

图25:安装PHP组件最后结果

3)设置php-fpm 开机启动

  1. #chkconfig php-fpm on 

4)启动php-fpm

  1. #/etc/init.d/php-fpm start 

启动php-fpm

图26:启动php-fpm

3. 配置后端服务

(1) Nginx支持PHP

1)备份nginx.conf配置文件

  1. #cp /etc/nginx/nginx.conf /etc/nginx/nginxbak 

备份nginx.conf配置文件

图27:备份nginx.conf配置文件

2)编辑nginx.conf配置文件

  1. #vim /etc/nginx/nginx.conf 

user nginx nginx; 添加Nginx组的用户的用户名为nginx

编辑nginx.conf配置文件

图28:编辑nginx.conf配置文件

3)备份default.conf配置文件

  1. #cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.dbak 

图29:备份default.conf配置文件

4)编辑default.conf配置文件

  1. #vim /etc/nginx/conf.d/default.conf 

在location内添加

  1. index index.php index.html index.htm; 

location内添加index格式

图30:location内添加index格式

添加一条

  1. location ~ \.php$ { 
  2.  
  3. root html; 
  4.  
  5. fastcgi_pass 127.0.0.1:9000; 
  6.  
  7. fastcgi_index index.php; 
  8.  
  9. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
  10.  
  11. include fastcgi_params; 
  12.  

添加一条php规则

图31:添加一条php规则

5)重启Nginx

  1. #service nginx restart 

重启Nginx

图32:重启Nginx

(2) 配置PHP

1)编辑配置

  1. #vim /etc/php.ini 

211行:修改为short_open_tag=ON

图33:修改211行

375行:修改为 expose_php =off

图34:修改375行

878行:修改为 date.timezone= PRC

修改878行

图35:修改878行

(3) 配置php-fpm

1)备份php-fpm配置文件

  1. #cp /etc/php-fpm.d/www.conf/etc/php-fpm.d/www.confbak 

2)进行配置编辑

  1. #vim /etc/php-fpm.d/www.conf 

将apache改为nginx

  1. user=nginx 
  2.  
  3. group=nginx 

原www.conf图

图36:原www.conf图

现www.conf图

图37:现www.conf图

(4) 测试

1)进入html

  1. #cd /usr/share/nginx/html 

4.2)编辑index.php文件

  1. #vim index.php 

编辑内容:

  1. <?php 
  2.  
  3. $link=mysql_connect("localhost","root","111111"); 
  4.  
  5. if(!$link) echo "FAILD!Please check your password!"; 
  6.  
  7. else echo "OK!Your connection is successful"; 
  8.  
  9. ?> 

注:mysql_connect( )函数的参数依次为:mysql服务器名或IP、mysql用户名,mysql用户密码。

编辑index.php内容

图38:编辑index.php内容

3)设置权限

  1. # chown nginx.nginx /usr/share/nginx/html 
  2. -R 

4)重启nginx

  1. #service nginx restart 

重启Nginx

图39:重启Nginx

5)重启php-fpm

  1. #service php-fpm restart 

重启php-fpm

图40:重启php-fpm

使用个人电脑登录网页:

图41:mysql连接成功

证明MySQL连接成功了!

6)修改index.php文件

  1. #vim index.php 

修改内容:

  1. <?php 
  2.  
  3. phpinfo(); 
  4.  
  5. ?> 

图42:index.php内容

7)重启nginx

  1. #service nginx restart 

重启Nginx

图43:重启Nginx

8)重启php-fpm

  1. #service php-fpm restart 

重启php-fpm

图44:重启php-fpm

9)输入服务器的IP地址进入网页

UCloud云主机:

  1. #curl myip.ipip.net 

云主机查找eip地址

图45:云主机查找eip地址

使用个人电脑登录网页:

图46:个人电脑浏览器登录网页情况

证明LNMP的后端试验成功了!

【本文是51CTO专栏机构作者“大U的技术课堂”的原创文章,转载请通过微信公众号(ucloud2012)联系作者】

 戳这里,看该作者更多好文

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2017-09-20 16:39:31

云主机网站MySQL

2022-11-07 18:36:03

组件RPC框架

2019-08-26 09:25:23

RedisJavaLinux

2022-01-04 08:52:14

博客网站Linux 系统开源

2010-07-06 09:38:51

搭建私有云

2021-02-05 17:59:17

网站Django应用

2023-03-29 10:02:36

2023-01-30 09:27:57

开发自动化配置

2022-03-14 14:47:21

HarmonyOS操作系统鸿蒙

2021-12-02 11:39:28

Git服务器Linux

2020-07-16 08:37:39

NginxCentOS7搭建

2017-11-27 15:17:24

PythonMonkey脚本

2021-06-22 10:43:03

Webpack loader plugin

2024-02-06 10:04:49

Express框架repo

2018-05-09 09:44:51

Java分布式系统

2022-06-28 15:29:56

Python编程语言计时器

2020-04-02 08:47:04

开发网站技术

2021-01-08 10:24:32

Python项目基础

2022-08-26 08:01:38

DashWebJavaScrip

2016-11-01 09:46:04

点赞
收藏

51CTO技术栈公众号