0x00 环境

阿里云ECS云服务器

CPU:1核

内存:4G

操作系统:Centos

系统盘:100G

0x01 安装及配置

主要使用 nginx 、 php 和 mysql

注意:如果下面的设置不生效,试试重启相关的服务

systemctl restart 服务名

使用该命令重启服务

0x02 通过 firewalld 防火墙配置端口访问

CentOS 系统默认安装 firewalld 防火墙,可以通过命令配置允许外部访问服务器的指定端口/协议

# 开启防火墙
systemctl start firewalld
# 允许自启
systemctl enable firewalld

该防火墙通过 firewall-cmd 命令配置,例如向外部永久开放22端口

firewall-cmd --zone=public --add-port=22/tcp --permanent

--zone: 用于配置作用域,public 表示对外开放

--add-port: 指定要配置的端口/协议

--permanent: 参数表示该配置永久有效,重启后不重置端口配置

通常情况下 web 服务器需要开放 22, 80, 443, 3306 端口

# 重载防火墙
firewall-cmd --reload
# 列出所有永久配置的端口规则
firewall-cmd --list-port --permanent

0x03 安装常用环境

# 安装 C 编译环境
yum install gcc-c++
# 安装 pcre 库
yum install pcre pcre-devel
# 安装 zlib 库
yum install zlib zlib-devel
# 安装 openssl
yum install openssl openssl-devel

0x04 安装 nginx

# 安装 nginx
yum install nginx
# 启动 nginx
systemctl start nginx
# 允许开机自启
systemctl enable nginx

0x05 安装 mysql

# 获取并安装 mysql 安装包
rpm -Uvh http://repo.mysql.com/mysql57-community-release-el7.rpm
# 安装 mysql-server
yum install mysql-server

0x06 换源

# 获取并安装用于管理 epel 源的软件包
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

0x07 扩展包管理

# 安装扩展包管理器
yum install yum-utils

0x08 安装 php

# 获取并安装包含 php 软件源的软件包
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 安装 php 7.2 及常用的模块
yum install php72w php72w-fpm php72w-mysql php72w-gd php72w-ldap php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-mbstring php72w-snmp php72w-soap
# 启动 php
systemctl start php-fpm
# 允许开机自启
systemctl enable php-fpm

0x09 更改 mysql 密码

# 启动 mysql
systemctl start mysqld
# 允许开机自启
systemctl enable mysqld
# 查询 mysql 的 log 中带 password 的记录
grep "password" /var/log/mysqld.log
# 设置密码安全等级为 0
mysql> set global validate_password_policy=0;
# 设置密码最小长度为 1
mysql> set global validate_password_length=1;
# 更改密码
mysql> ALTER USER USER() IDENTIFIED BY 'passwd';
# 退出 mysql 终端
mysql> exit;

0x10 使 nginx 支持解析 php

# 从 default 配置复制一份可用的配置
cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
# 编辑配置文件
vim /etc/nginx/nginx.conf

将如下配置项写进配置文件中 server{} 块内

location ~ \.php$ {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

0x11 安装 wordpress

# 获取 wordpress 安装包
wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz

这个不是最新版,链接可以去官网直接复制

# 解压
tar -zxvf wordpress-4.8.1-zh_CN.tar.gz
# 将文件夹移动到站点根目录并重命名为 blog
mv wordpress/ /var/www/html/blog
# 为保证 wordpress 能够操作自身文件,需要将其属主修改为 web 服务的账户并给整个文件夹 755 的权限
chown apache:apache -R /var/www/html/blog
chmod 755 -R /var/www/html/blog

wordpress 需要一个自己的数据库,新建一个

# 进入 mysql 终端
mysql -u root -p
# 新建数据库,名为 wordpress
mysql> create database wordpress;
# 退出 mysql
mysql> exit;

0x12 上传文件大小限制

编辑
vim /etc/php.ini

修改以下两个值

post_max_size = 128M

upload_max_filesize = 128M

nginx+php+mysql+wordpress搭建简单站点 安装及配置过程的更多相关文章

  1. Nginx+php+mysql+wordpress搭建自己的博客站点

    服务器环境要求Centos 6 或以上版本(由于我们的目标是半小时内搭建好,那就选简单yum安装)MySQL 5或更新版本Nginx 1或更新版本PHP 5 或更新版本 php-fpm 5或更新版本 ...

  2. LNMP 搭建 wordpress 站点 安装及配置过程

    0x00 环境 阿里云ECS云服务器 CPU:1核 内存:4G 操作系统:Centos 系统盘:100G 0x01 安装及配置 主要使用 nginx . php 和 mysql 注意:如果下面的设置不 ...

  3. MySQL的Master/Slave群集安装和配置

    本文介绍MySQL的Master/Slave群集安装和配置,版本号安装最新的稳定版GA 5.6.19. 为了支持有限HA.我们用Master/Slave读写简单孤立的集群.有限HA这是当Master不 ...

  4. mysql数据库在Linux下安装与配置

      mysql是一种开放源代码的关系型数据库系统(RDBMS),使用最常用的数据库管理语言--结构化查询语句(SQL)进行数据库管理. 由于mysql的开源,因此任何人都可以在General Publ ...

  5. mysql数据库在windows下安装与配置

      mysql是一种开源源代码的关系型数据库系统(RDBMS),使用最常用的数据库管理语言--结构化查询语句(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Pu ...

  6. nginx在Centos7.5下源码安装和配置

    安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...

  7. 图解MySQL5.5详细安装与配置过程

    MySQL是一个开源的关系型数据库管理系统,原由瑞典MySQL AB公司开发,目前属于Oracle公司旗下.MySQL是目前世界上开源数据库中最受欢迎的产品之一,是应用最为广泛的开源数据库.MySQL ...

  8. MySql5.7免安装版配置过程(ubuntu16.04)

    MySql5.7免安装版配置过程(ubuntu16.04) 原创 2017年02月07日 16:58:24 标签: 1001 编辑 删除 一.安装环境: 操作系统:ubuntu16.04 数据库:my ...

  9. Win7上Git安装及配置过程

    Win7上Git安装及配置过程 文档名称 Win7上Git安装及配置过程 创建时间 2012/8/20 修改时间 2012/8/20 创建人 Baifx 简介(收获) 1.在win7上安装msysgi ...

随机推荐

  1. Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例

    Android JSON解析库Gson和Fast-json的使用对比和图书列表小案例 继上篇json解析,我用了原生的json解析,但是在有些情况下我们不得不承认,一些优秀的json解析框架确实十分的 ...

  2. JavaScript进阶(十一)JsJava2.0版本

    JavaScript进阶(十一)JsJava2.0版本 2007年9月11日,JsJava团队发布了JsJava2.0版本,该版本不仅增加了许多新的类库,而且参照J2SE1.4,大量使用了类的继承和实 ...

  3. Google性能工程师Ilya Grigorik谈HTTP/2

    via:http://www.infoq.com/cn/news/2014/11/http2-develop HTTP/2,也就是超文本传输协议第2版,是下一代HTTP协议.该版本是自1999年HTM ...

  4. LeetCode之“链表”:Rotate List

    题目链接 题目要求: Given a list, rotate the list to the right by k places, where k is non-negative. For exam ...

  5. 嵌入式C开发---用循环实现左移右移

    //将n左移m位 int byte_to_left_move(int n , int m) { int i , ret = 1 ; if(n == 0 || n < 0) { return ; ...

  6. VS2005工程的Device右边内容为空问题

    VS2005工程的Device右边内容为空问题 可能是刚刚在删除C盘一些文件或是这些文件因为某些原因丢失了,在打开WINCE6.0系统工程的时候,发现无法编译,才注意到VS2005工程的Device右 ...

  7. Linux文件与目录管理 - ls, cp, mv

    [root@www ~]# ls [-aAdfFhilnrRSt] 目录名称 [root@www ~]# ls [--color={never,auto,always}] 目录名称 [root@www ...

  8. gtk+2.0中GtkObject结构中没有klass成员的解决办法

    gtk+2.0中一些较老的程序中会有如下的代码: #define EVENT_METHOD(obj, method) GTK_WIDGET_CLASS(GTK_OBJECT(obj)->klas ...

  9. bash下如何使用bind[En]

    You can determine the character sequence emitted by a key by pressing Ctrl-v at the command line, th ...

  10. application之OnLowMemory()和 OnTrimMemory(level)讲解

    1. OnLowMemory OnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的进程,不是指后台运行的进程)都被杀死时,系统会调用OnLo ...