在搭建路上, 博主一路摸爬滚打, 从原来的什么都不会, 到现在基本一次成功
走过很多弯路, 百度上面很多类似的教程, 但是都不是很合适, 总有一些莫名其妙的问题
今天把搭建的方法总结在这里, 方便新手学习
首先, 要有一台 CentOS 7 的服务器
博主选用的服务器是 Vultr 的服务器 -> Vultr服务器申请教程
如果你什么都不会, 直接跟着教程走, 复制命令就可以了
首先, 就是 Nginx 的安装
一般服务器自带的 Nginx 版本都不是最新的 Nginx 版本
要想使用到最新的 Nginx 版本, 首先要进入
http://nginx.org/packages/centos/7/noarch/RPMS/
找到对应的 yum repo, 然后更新 repo 的 rpm
rpm -Uvh http://ngin
x.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
这个是到目前为止最新的 rpm
因为服务器在国外, 所以国内的服务器下载速度可能有些慢, 稍微等待一下
更新完成之后 :

接下来可以进行 Nginx 的安装
yum install -y nginx
安装完成会提示 :

接下来就可以测试 Nginx 是否真的安装成功了
首先, 要开启 Nginx
systemctl start nginx
然后可以设置开机启动 Nginx
systemctl enable nginx
成功之后会显示 :

很多服务商提供的服务器默认是开启防火墙的, 所以要想测试 Nginx 是否启动成功, 还要修改防火墙的配置
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
每一句命令输入之后都会有 success
返回
之后直接访问服务器 IP 如果可以看到如下页面, 就代表 Nginx 安装成功

Nginx 安装和测试成功之后, 接下来进入 MySQL 的安装
首先, 同样要寻找合适的 yum repo
之后更新 rpm
访问 MySQL 官方网站寻找合适的 yum repo
https://dev.mysql.com/downloads/repo/yum/
现在最新的命令 :
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
成功之后会提示 :

接下来安装 MySQL
yum install -y mysql-community-server mysql-community-devel
安装成功之后会提示 :

接下来对 MySQL 进行设置
首先, 需要开启 MySQL :
systemctl start mysqld
由于 MySQL 安装完之后自己设置了自启动, 那么这里可以省去设置开机启动的命令
MyQSL 5.7 和之前的版本有所不同, MySQL 5.7 在安装的时候已经设置好了初始密码, 以前的版本密码为空
可以通过下面的命令来获得初始密码 :
grep 'temporary password' /var/log/mysqld.log

对于 MySQL 5.7 给出的初始密码, 其实已经很安全了, 唯一的缺点就是不好记, 这时候可以搭配 1Password 等软件
如果要修改密码的, 可以执行下面的命令 :
首先进入 MySQL
mysql -uroot -p
会提示你输入密码, 输入刚刚给出的初始密码即可

之后直接输入 :
ALTER USER 'root'@'localhost' IDENTIFIED BY '你要修改的新密码';
将中文字替换成你的密码即可
不过, 值得注意的是, MySQL 5.7 对于密码的要求非常严格, 必须至少包含1个大写字母、1个小写字母、1个数字和1个特殊字符, 而且长度不得小于8个字符
修改完成之后输入 quit 退出即可

到这里 MySQL 的安装和配置就算完成了, 后期的工作都可以通过 phpMyAdmin 来实现
接下来是 PHP 7 的安装
首先参考这个网站更新相应 rpm :
https://webtatic.com/packages/php70/
那么 CentOS 7 对应的命令就是应该是 :
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

接下来输入命令安装 PHP 7
yum install -y php71w php71w-bcmath php71w-cli php71w-common php71w-dba php71w-devel php71w-embedded php71w-enchant php71w-fpm php71w-gd php71w-imap php71w-interbase php71w-intl php71w-ldap php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-odbc php71w-opcache php71w-pdo php71w-pdo_dblib php71w-pear.noarch php71w-phpdbg php71w-process php71w-pspell php71w-recode php71w-snmp php71w-soap php71w-tidy php71w-xml php71w-xmlrpc php71w-pecl-mongodb php71w-pecl-redis php71w-pecl-igbinary php71w-pecl-apcu php71w-pecl-apcu-devel php71w-pecl-geoip php71w-pecl-igbinary-devel php71w-pecl-imagick php71w-pecl-libsodium php71w-pecl-memcached php71w-pecl-xdebug
这里已经默认安装了 PHP 7 的很多组件, 如果不需要那么多组件, 可以通过自己选择来挑选自己需要的组件

到这里 PHP 7 的安装就算是完成了
我们需要稍微配置一下 PHP, 以便于以后安装某些程序不再麻烦
先打开 PHP 配置文件
vim /etc/php-fpm.d/www.conf
搜索 user 和 group, 也就是第八行和第十行, 改为 :
user = nginx
group = nginx
然后按 "/", 输入$HOSTNAME (这个动作为 搜索 "$HOSTNAME")
将 366-370 行的 ";" 去掉 (取消注释)
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
配置完 PHP-FPM 之后, 还需要对 php.ini 文件进行配置, 方便今后的使用
首先打开 php.ini
vim /etc/php.ini
查找
mysqli.default_socket
并且修改为
mysqli.default_socket = /var/lib/mysql/mysql.sock
查找
date.timezone
去掉前面的 ";", 并且修改为
date.timezone = PRC
接下来修改 PHP 上传限制, 找到
max_execution_time
将后面的 30 改成 0
找到
post_max_size
将后面的数字改成你想要的, 单位 M
找到
upload_max_filesize
将后面的数字改成你想要的, 单位 M
保存之后, 还要赋予 nginx 对应目录的权限, 否则一些程式可能无法正常运行
chown -R nginx:nginx /var/lib/php/session
chown -R nginx:nginx /var/lib/php/wsdlcache
接下来, 还要做的是启动 PHP-FPM, 如果不启动, 访问网站就会出现 502 Bad Gateway 错误

systemctl start php-fpm
如果有需要开机启动的, 可以输入 :
systemctl enable php-fpm
最后, 需要把 session
文件夹的权限还给 nginx
chown nginx:nginx -R /var/lib/php/session
PHP 的配置就算完成了, 就要正式开始建立网站了, 网上有很多现成的免费网站程序
首先, 要建立一个专门放网页的目录
博主建在 /www
那么就要创建目录
mkdir -p /www/Jonny/web
进入目录
cd /www/Jonny/web
因为很多服务商提供的 CentOS 并没有自带 vim 编辑器, 那么我们这里用 vi 命令进行编辑
vi info.php
按 i 进入编辑模式
输入
<?php phpinfo(); ?>
按 esc 键退出编辑模式, 之后输入 : 在输入 wq 按回车退出
出来之后, 输入 ls -l
可以看到我们刚刚新创建的 info.php

到这里, 我们的 PHP 测试页面就算完成了
之后就是 Nginx 的配置
首先进入 Nginx 配置的相关目录
cd /etc/nginx/conf.d
然后通过 vi 命令创建一个新的 .conf 文件, 对于文件的命名, 个人建议使用域名
比如, 这个配置对应的网站是 jonny.vip, 那么我们就命名 jonny.vip.conf
vi jonny.vip.conf
按 i 进入编辑模式
之后输入如下的代码
server {
listen 80;#你的端口
server_name jonny.vip www.jonny.vip;#你网站的域名
root /www/Jonny/web;#绑定的目录
location / {
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;#FastCGI的端口, 如果按照本文上面的方式安装的 PHP, 那么无需修改, 默认为9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
上面含有注释的都是需要修改的
不过如果按照本文的方式安装的, 那么只需要修改绑定目录和域名即可
这里就不用域名做演示了, 直接用服务器的 IP 作为域名好了
设置好之后重新启动 Nginx
systemctl reload nginx
如果上述代码有问题, 可能会遇到 Nginx启动错误, 那么这个时候可以通过 :
nginx -t
查看具体错误在哪里
如果重新启动成功, 那么直接访问相关网站的域名 : http://你的域名/info.php, 就可以看到如下界面 :

就说明 PHP 7 也安装成功了
到此为止, 相关的搭建工作已经完成了, 接下来只要上传网站源码就可以了
自創文章, 原著 : Jonny. 如若閣下需要轉發, 在已經授權的情況下請註明本文出處 :