打开虚拟机软件(VMware Workstation),在主页中点击创建新的虚拟机。
选择“稍后安装操作系统”选项
点击“自定义硬件”,配置虚拟机内存、处理器、镜像挂载源以及虚拟机的网络模式。
点击“开启虚拟机”按钮。
鼠标点击系统安装界面,鼠标会消失在操作台,点后使用键盘上下键,选择安装的模式:一般都会选择第一个,第二个会检查镜像完整度,比较耗费时间。模式显示白色,表示被选中。
安装时尽量选择英文操作系统,这样出现错误信息后,容易在公网上找到报错原因。
分区时,选择自定义分区模式(I Will Configure Partitioning),然后点击左上角“Done”,进入详细的分区界面。
选择“Standard Partition”,然后点击 + 号
网络按钮选择“ON”。
配置时间、系统安装类型、分区以及网络后,点击右下角“begin installation”按钮进入系统正式安装界面。
给root用户设置密码,同时也可以创建其他用户。
设置密码是时,有密码复杂度策略限制,尽量满足复杂度要求,Weak表示密码复杂度较弱,不满足要求。如果想用弱密码可以连续按2次“Done”按钮会跳过密码复杂度测试。
系统重启后,需要接受license 许可才能正式使用系统,过程如下:
点击用户,输入密码登录系统。进入系统后根据如下提示进行继续操作。
点击“Start Using CengtOS linux”,开始正式使用操作系统,出现如下提示界面,点击关闭即可。
nginx的安装用很多种方法,这里我们以源码编译安装为例:
yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel
使用wget命令下载nginx源码包。
下载地址: http://nginx.org/download/nginx-1.24.0.tar.gz
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -xzvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
预编译前。建立一个系统用户www(自己定义名字,为了管理方便最好和后面的PHP用一个用户)。
useradd -r www
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
进入nginx执行程序所在目录
cd /usr/local/nginx/sbin/
进入目录 /usr/local/nginx/sbin/,执行如下命令
/usr/local/nginx/sbin/nginx
使用如下命令查看nginx是否启动
ps -ef |grep nginx
[root@localhost nginx-1.24.0]# systemctl stop firewalld
[root@localhost nginx-1.24.0]# systemctl disable firewalld
在浏览器输入http://192.168.1.103,IP地址要写自己nginx所在机器的。出现welcom to nginx界面表示安装成功。
[root@localhost nginx-1.24.0]# vim /lib/systemd/system/nginx.service
在nginx.service文件中配置以下内容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载服务的命令:
[root@localhost nginx-1.24.0]# systemctl daemon-reload
查看进程ID
[root@localhost nginx-1.24.0]# ps -ef |grep nginx
我这里主进程是5858,子进程是5859。(注意有几个cpu 的核心就有几个子进程)
[root@localhost nginx-1.24.0]# kill 5858
启动服务
[root@localhost nginx-1.24.0]# systemctl start nginx.service
查看启动进程
[root@localhost nginx-1.24.0]# ps -ef |grep nginx
停止服务
[root@localhost nginx-1.24.0]# systemctl stop nginx.service
查看进程
[root@localhost nginx-1.24.0]# ps -ef |grep nginx
服务开机启动
[root@localhost nginx-1.24.0]# systemctl enable nginx.service
重新启动操作系统后查看启动进程
[root@localhost ~]#ps -ef |grep nginx
我这里创建的是/date/download/
[root@localhost ~]# mkdir -p /date/download/
我这里时/date/download/
可以使用第三方工具上传。
[root@localhost ~]# cd /date/download/
[root@localhost download]# tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
系统自带的数据库版本较低/而且会和新版本的冲突,主要是会和mysql8要安装的lib组件冲突
[root@localhost download]# yum remove -y mysql-libs
[root@localhost download]# rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm
[root@localhost download]# rpm -ivh mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm
icu也可在安装完rpm -ivh mysql-community-client后安装
[root@localhost download]# rpm -ivh mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm
[root@localhost download]# rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm
[root@localhost download]# rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm
必须先客户端后服务端
[root@localhost download]# rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm
启动数据库
[root@localhost download]# systemctl start mysqld.service
[root@localhost download]# ps -ef | grep mysql
启动MySQL服务后才能有此日志,如果从来没有启动过,是不会有这个日志的
[root@localhost download]# grep 'temporary password' /var/log/mysqld.log
2023-07-31T02:01:35.329394Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: )A5x(xuXugP=
初始密码是:)A5x(xuXugP=
密码修改过后,初始密码就失效。
[root@localhost download]# mysql -u root -p
mysql 是客户端命令
-u 表示用户,
-p 表示密码,实际使用当中,一般不把密码写在这里,而是直接敲回车(如果写上密码,从历史记录中可以查看到此密码,非常不安全)
[root@localhost download]# systemctl enable mysqld.service
登录数据库,使用如下命令修改密码(不修改密码,数据库不能进行实际的操作)。
[root@localhost download]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.34 MySQL Community Server - GPL
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Pa55Word@#';
root:是用户名 , localhost表示本地登录,数据库的一个用户可以设置多个密码,可以在不能的环境下登录数据库。Pa55Word@#:修改后的密码。
修改密码后登录测试新密码:
这里我们使用yum安装的方式安装PHP。
[root@localhost vhosts]# yum install -y epel-release
[root@localhost vhosts]# yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
[root@localhost vhosts]# yum --enablerepo=remi install -y php74-php php74-php-gd php74-php-xml php74-php-sockets php74-php-session php74-php-snmp php74-php-mysql
[root@localhost vhosts]# yum install -y php74-php-fpm
[root@localhost vhosts]# php74 -v
启动服务
[root@localhost vhosts]# systemctl start php74-php-fpm
查看启动进程
[root@localhost vhosts]# ps -ef |grep php74-php-fpm
[root@localhost vhosts]# systemctl enable php74-php-fpm
为了方便以后直接通过php命令来执行php脚本,做一个软链接。(此步可以不做)
执行安装命令
[root@localhost ~]# yum install -y gcc-c++
安装完成后使用gcc -v查看安装及版本信息
[root@localhost ~]# gcc -v
创建目录
[root@localhost ~]# mkdir -p /date/download/redis
进入目录
[root@localhost ~]# cd /date/download/redis/
下载安装包
[root@localhost redis]# wget http://download.redis.io/releases/redis-7.0.12.tar.gz
解压安装包
[root@localhost redis]# tar -xzvf redis-7.0.12.tar.gz
解压完成后,进入解压后的目录redis-7.0.12,执行命令
make PREFIX=/usr/local/redis install
[root@localhost redis]# ls
redis-7.0.12 redis-7.0.12.tar.gz
[root@localhost redis]# cd redis-7.0.12/
[root@localhost redis-7.0.12]# make PREFIX=/usr/local/redis install
将解压后目录中的配置文件拷贝到安装目录下
[root@localhost redis-7.0.12]# cp redis.conf /usr/local/redis/
redis的默认启动方式是通过执行绝对路径和配置文件来启动
[root@localhost redis-7.0.12]# /usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
这种启动方式有一个弊端,是前台运行服务,运行的服务一直占用当前会话框,需要一直运行当前会话框才能保持服务的运行,如果使用ctr+c终止的话,redis服务也会停止。
为了启动方便在下面的5.9节中,制作redis服务来启动redis。
配置环境变量,使用redis-cli工具来操作redis-server。如果不配置需要通过执行绝对路径/usr/local/redis/bin/redis-cli来使用此工具。
编辑/etc/profile文件,在末尾加入export PATH=/usr/local/redis/bin:$PATH
然后source来刷新配置文件
[root@localhost redis-7.0.12]# vim /etc/profile
[root@localhost redis-7.0.12]# source /etc/profile
配置好后可以直接用用redis-cli来连接redis-server
结束redis服务可以使用redis-cli -p 6379 shutdown 命令
[root@localhost ~]# redis-cli -p 6379 shutdown
将redis的启动做成后台服务的形式来实现,使用vim编辑配置文件/etc/systemd/system/redis.service,配置以下内容。
[root@localhost redis-7.0.12]# vim /etc/systemd/system/redis.service
[Unit]
Description=redis-server
After=netwrok.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
刷新服务配置
[root@localhost redis-7.0.12]# systemctl daemon-reload
启动redis
[root@localhost redis-7.0.12]# systemctl start redis
Redis服务已启动,但是命令systemctl start redis
一直在执行状态,没有返回状态,只能ctrl+c强制返回。
停止redis服务
[root@localhost redis-7.0.12]# systemctl stopt redis
修改redis的配置文件/usr/local/redis/redis.conf,将daemonize设置成yes
[root@localhost redis-7.0.12]# vim /usr/local/redis/redis.conf
[root@localhost redis-7.0.12]# systemctl start redis
[root@localhost redis-7.0.12]# ps -ef |grep redis
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include vhosts/*.conf;
}
[root@localhost ~]# mkdir -p /usr/local/nginx/conf/vhosts/
用vim编辑器在目录 /usr/local/nginx/conf/vhosts/下创建discuz.conf文件,并添加以下内容:
[root@localhost ~]# vim /usr/local/nginx/conf/vhosts/discuz.conf
配置内容:
server{
listen 80;
server_name discuz;
index index.html index.php;
location ~\.php(.*)$ {
root /data/html/discuz;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
location /
{
root /data/html/discuz;
}
}
[root@localhost vhosts]# /usr/local/nginx/sbin/nginx -t
创建目录/data/html/discus
[root@localhost vhosts]# mkdir -p /data/html/discus/
在目录/data/html/discus中创建phpinfo.php文件,写入以下内容:
<?php
echo phpinfo();
?>
保存退出配置文件。
重启nginx
[root@localhost vhosts]# systemctl restart nginx
只有安装好此PHP-Redis连接驱动,PHP才能支持redis扩展模块。
[root@localhost module]# yum -y install php74-php-redis
注意:我去module目录查了个文件,就留在module目录下了。大家仍然在[root@localhost vhosts]#下安装就行。
重启php
[root@localhost vhosts]# systemctl restart php74-php-fpm
在浏览器访问http://discuz/phpinfo.php 在当前页面使用ctrl+f 搜索redis。
如果有redis 表示redis扩展成功。
[root@localhost vhosts]# vim /etc/opt/remi/php74/php-fpm.d/www.conf
[root@localhost vhosts]# mysql -u root -p
mysql> CREATE USER 'discuz'@'%' IDENTIFIED WITH mysql_native_password BY 'Pa55Word@#';
Query OK, 0 rows affected (0.03 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'discuz'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
注意mysql数据库的命令最后都有一个英文的分号结尾。
官网:https://www.discuz.vip/download.html
将论坛discuz的代码包上传至目录 /data/html/discuz/,并删除phpinfo.php,然后解压discuz代码包。
[root@localhost date]# cd /data/html/discuz/
[root@localhost discuz]# rm phpinfo.php
[root@localhost discuz]# unzip Discuz_X3.5_SC_UTF8_20230726.zip
移除代码压缩包到其他备份目录,方便以后使用,也可以删除代码压缩包。
将解压出的upload目录内的所有内容复制到discuz目录下,删除upload目录。
注意复制时不要包含目录upload自身,只是复制目录内的所有内容。
[root@localhost discuz]# cp -r ./upload/* ./
[root@localhost discuz]# rm -rf upload/
退回discuz的上一级目录,将目录discuz 的属主和属组都改成www。
[root@localhost discuz]# cd ..
[root@localhost html]#
[root@localhost html]# chown -R www:www discuz/
在浏览器登录http://discuz/(如果是云主机的话可以绑定自己的域名,我这里用虚拟机做实验),出现discuz安装向导页面,点击同意。
安装模式根据自己的需求去安装,我这里做演示选择第一个。
选择全新安装discuz(独立模式),继续下一步。
数据库填写上面我们已经配置好的,管理员信息是初始填写,以后管理discuz论坛用,自己保管好。
输入数据库的信息和管理员信息后点击下一步。