下载CentOS 7:参考VirtualBox虚拟机安装Centos7详细教程图解_virtualbox安装centos7-CSDN博客
准备环境:
1.首先关闭防火墙,在Xshell 7中
输入以下代码:
systemctl stop firewalld systemctl disable firewalld
其中结果为:
第一步关闭防火墙显示这个就可OK。
2.关闭SELinux
SELinux是一个Linux内核安全模块,最初由美国国家安全局(NSA)开发,后来被纳入Linux内核中。它提供了强制访问控制(MAC)机制,与传统的基于用户和组的访问控制(DAC)相比,它提供了更加细粒度和可配置的安全策略。
也是在Xshell中输入以下代码:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0
在Xshell中显示
如果在终端输入第一行时显示:
错误及解决方案:
可以先在第一行输入su -进入root模式,其中输密码时屏幕不会显示
输完代码后什么都不显示,就像这种即为成功
这段代码是用来修改SELinux的配置,将SELinux状态从强制模式改为禁用模式
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
: 这部分代码使用sed命令在/etc/selinux/config
文件中替换所有出现的SELINUX=enforcing
字符串为SELINUX=disabled
。这样做是为了修改系统的SELinux配置文件,将SELinux状态设置为禁用。setenforce 0
: 这一行命令则是立即将当前运行的SELinux状态设置为临时禁用,即切换到宽容模式(permissive),使得SELinux不再强制执行安全策略,而是仅仅记录违规操作而不阻止它们。这个设置是临时的,系统重启后会恢复到配置文件中的设定状态。
这段代码通常用于需要临时禁用SELinux的情况,例如在调试或者安装某些软件时,由于SELinux的严格限制导致操作受限。然而,禁用SELinux会降低系统的安全性,因此在生产环境中应谨慎使用,并在完成需要禁用SELinux的操作后及时恢复其状态。
安装:
1.安装 Nginx
在Xshell中输入以下代码即为安装Nginx
yum -y install nginx
显示这个即为成功:
在CentorOS中下载的话会有以下情况:
错误及解决方案
有可能他会显示以下页面:
没有可用的nginx包:原因是nginx位于第三方的yum源里面,而不在centos官方yum源里面
解决方法:安装epel
输入以下代码:
sudo yum install epel-release
期间它会提示你【y/d/N】你一直输入y就行,等待一会就代表成功了
接着输入代码:
yum update
这个过程可能时间会长一点,是在更新。
显示的是为这个:
最后在输入代码yum -y install nginx就可以下载了
下载成功显示的是这个:
这段代码是用来通过yum包管理器安装Nginx Web服务器的。具体来说:
yum
: 是一个基于RPM包管理的包管理器,用于在CentOS和其他基于Red Hat的Linux发行版上安装、更新和移除软件包。-y
: 这个选项告诉yum在执行安装操作时自动回答"是",而不需要用户手动确认。这样可以在安装过程中跳过确认提示,使得安装过程自动化。install
: 是yum的一个操作命令,表示要执行安装操作。nginx
: 是要安装的软件包名,这里指的是Nginx Web服务器。
综合起来,这段代码的作用是在系统上安装Nginx Web服务器,并且在安装过程中自动回答"是",以便自动化安装过程。
2.安装 MySQL
在终端中输入下述代码
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm yum -y install mysql-community-server --nogpgcheck
第一行代码是更新yum库
显示
即为成功
第二行代码是安装mysql,这个过程很长,需要等待他下载完
显示
即为成功
3.安装PHP
在终端中输入代码
yum -y install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64 php70w-pdo.x86_64 php70w-mysqlnd php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb
第一句代码是添加epel源
显示
第二句是添加 webtatic 源
第三句是安装PHP
配置
1.配置Nginx
a.备份:
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
b.添加Nginx对PHP的支持
先输入代码进入nginx.conf文件中
vim /etc/nginx/nginx.conf
然后把这串代码复制到
include下
要复制的代码为:
location / { index index.php index.html index.htm; } #添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。 location ~ .php$ { root /usr/share/nginx/html; #将/usr/share/nginx/html替换为您的网站根目录,本文使用/usr/share/nginx/html作为网站根目录。 fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求。 }
输入后显示的整体页面为:
注意画框的就为所添加的
之后按下ESC键输入“:wq”退出vim模式
这段代码是用来配置Nginx以处理PHP请求
location / { ... }
: 这个配置块指定了当访问网站的根目录时应该如何处理请求。其中,index index.php index.html index.htm;
指定了当访问目录时,Nginx应该先尝试加载index.php
文件,如果不存在再依次尝试加载index.html
和index.htm
文件。location ~ .php$ { ... }
: 这个配置块定义了当请求以.php
结尾时应该如何处理。这里使用了正则表达式~ .php$
,表示匹配以.php
结尾的URL。在这个配置块中:root /usr/share/nginx/html;
: 指定了PHP文件的根目录,即PHP文件所在的文件夹。fastcgi_pass 127.0.0.1:9000;
: 指定了Nginx将PHP请求通过本地的9000端口转发给PHP-FPM(FastCGI Process Manager)进行处理。PHP-FPM是PHP的一个处理器,用于管理PHP进程。fastcgi_index index.php;
: 指定了当请求不带文件名时,默认加载的PHP文件为index.php
。fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
: 设置了fastcgi_param参数SCRIPT_FILENAME
,告诉PHP解析器要执行的PHP文件路径。include fastcgi_params;
: 包含了一个额外的文件fastcgi_params
,该文件中包含了一些默认的FastCGI参数设置。
通过以上配置,Nginx就能够正确地处理PHP请求,并将这些请求转发给PHP-FPM进行处理,从而实现了Nginx与PHP的集成。
2.配置Mysql
a.获取 root 用户的初始密码
在终端输入代码
systemctl start mysqld grep 'temporary password' /var/log/mysqld.log
这是临时密码zT后面就是临时密码
不要单独输入第一行代码,不然会出现图示第二行现象,直接复制黏贴进去全部。
b.配置 MySQL 的安全性
mysql_secure_installation
第一行Enter password for user root:输入刚刚zT那个临时密码,然后输入过程不可见,屏幕不显示
New password是设置的:输入新密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号
Re-enter new password是重复输入你刚刚设置的新密码
Chan the 后面输入大写Y就行
之后他还会显示New password:你就再输入你设置的密码
Do you 后面输入Y即可
b.删除匿名用户
Y需要你自己手动输进去
c.禁止 root 远程登录
Y自己手动输入
d.删除test库以及用户对test库的访问权限
Y自己手动输入
e.重新加载授权表
3.配置PHP
a.获取网站根目录
输入命令
vim /etc/nginx/nginx.conf
进入后查看root后配置参数是否为图示
是你在nginx.conf
配置文件中location ~ .php$
大括号内,配置的 root 参数值。
b.新建phpinfo.php
文件,用于展示PHP信息
终端输入代码
vim /usr/share/nginx/html/phpinfo.php
进入这个页面
按i进入插入模式插入代码
<?php echo phpinfo(); ?>
之后按ESC退出插入模式,按“:wq”退出vim模式
启动服务
在Xshell输入代码
systemctl restart nginx mysqld php-fpm systemctl enable nginx mysqld php-fpm
显示
即为成功
验证LNMP是否部署成功
a.在Windos浏览器中输入“你的阿里云公网ip地址+phpinfo.php”显示以下页面即为成功
b.验证 mysql 与 php 连通性是否正常
输入
mysql -uroot -p
登录数据库
输入刚刚创建的密码
输入
create database wordpress;
创建库
输入
grant all on wordpress.* to 'wordpress'@'%' identified by '刚刚满足数字 字母特殊符号的密码'; grant all on wordpress.* to 'wordpress'@'localhost' identified by '和上述一样';
创建库并授权
注意代码不要直接复制直接自己打上去
接着输入
cat >/usr/share/nginx/html/mysql.php<<'EOF'
然后把这个代码复制进去
<?php $servername = "localhost"; $username = "wordpress"; $password = "123456"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "php连接MySQL数据库成功"; ?> EOF
在网站中输入你的阿里云ip地址+mysql.php就可以看到
就为成功
一些错误及方案
有一些会打开后会显示无法连接问题
解决方案:打开阿里云服务器官网手动打开80端口,但默认是开启的
具体开启教程:阿里云服务器80端口开通教程(在安全组中配置规则)-阿里云开发者社区 (aliyun.com)
第二解决方案:下载telnet查看防火墙问题
代码:
yum install telnet
下载telnet
输入
telnet 127.0.0.1 80
如果正常,那就是阿里云防火墙问题,如果不正常就是云服务器防火墙问题。前提是Nginx能打开
正常的情况是出现
输入
netstat -nap | grep 80
这个命令 是查看80端口是否被Nginx正常绑定
不要在虚拟机上运行整篇文章代码,在虚拟机上运行的话,结果是只能在你虚拟机网站上能看到部署成功,要在云服务器上来部署。
部署Wendasnsn
1.安装Apache
停止nginx服务
systemctl stop nginx
安装Apache
yum -y install httpd
启动Apache
systemctl start httpd
验证Apache,浏览器输入http://云服务器实例的公网IP
验证PHP和Mysql功能
将nginx目录下的phpinfo.php和mysql.php复制至目录/var/www/html中,并在浏览器输入http://云服务器实例的公网IP/phpinfo.php和mysql.php
复制的命令为:
cp /usr/share/nginx/html/phpinfo.php /var/www/html/ cp /usr/share/nginx/html/mysql.php /var/www/html/
在浏览器中输入云服务器IP+phpinfo.php显示
注意看第三行是Sever API
然后打开云服务器IP+mysql.php
显示
即为成功
有些可能有错误会显示一长串未知代码
解决方案是把mysql.php文件清空,然后把这一串代码复制进去
<?php $servername = "localhost"; $username = "root"; $password = "xxxx";//替换成root的密码 // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) {die("Connection failed: " . mysqli_connect_error()); } echo "php连接MySQL数据库成功"; ?>
2.上传Wendasns软件包
先使用命令
sudo yum install lrzsz -y
下载rz命令包
然后使用命令
cd /var/www/html/ rz -b
从Windows导入Wendasns软件包到云服务器
使用这俩命令后显示
选取文件名为 Wendasns-v2.0.2打开
接着解压至指定目录
使用命令
unzip Wendasns-v2.0.2.zip -d wendasns
是解压刚刚传的的压缩包至指定目录
使用这个命令可能会出现以下情况
原因是unzip命令没下载
下载unzip命令:
sudo yum install unzip
之后就可以用该命令了
因为Wendasns对环境版本要求较高所以改为WordPress
与上述一致,第一步下载WordPress官网下载地址:下载最新版本Download – WordPress.org China 简体中文
和上述一样用命令
cd /var/www/html/ rz -be
导入Wordpress软件包
使用命令
unzip wordpress-6.5.2-zh_CN.zip
解压至指定目录
之后使用命令
cd wordpressls ls
查看内容
显示
即为成功
3.以Apache为例,修改Apache主目录至wordpress:
使用命令
vim /etc/httpd/conf/httpd.conf
把<Director 改为:
其他不要动,按ESC退出插入模式
接着重启Apache
systemctl restart httpd
之后再浏览器输入云服务器IP后弹出这个即为成功
点击现在开始
之后千万不要点提交!
要先在数据库命令行中手动创建wordpress数据库再在上图中点击提交
进入数据库命令
mysql -u root -p
再mysql命令中输入以下代码
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
输入之后如果显示
代表数据库已创建
那么在上述页面中直接点提交就行了
接着,弹出来是这个页面
把框里面的东西复制一下,然后再xshell中手动创建一个名为wp-config.php的文件
手动创建的代码为:
vim wp-config.php
把你刚刚复制的东西粘贴进去就ok,之后点击运行安装程序
如果不想手动创建
则进入目录/var/www/html/修改权限即可
进入在这个目录
cd /var/www/html/
使用代码
chmod 777 -R wordpress
赋予权限
之后你点进去就会变成
继续点击运行安装程序就可
登录后显示这个即为成功
浏览器输入公网ip为这样