第三方编辑网站怎么做,服装设计投稿平台有哪些,淮安网站建设找谁好,成都网站软件定制开发1、LNMP
L:linux操作系统
N#xff1a;nginx展示前端页面web服务
M#xff1a;mysql数据库#xff0c;保存用户和密码#xff0c;以及论坛相关的内容
P#xff1a;php动态请求转发的中间件
数据库的作用#xff1a; 登录时验证用户名和密码 创建用户和密码 发布和…1、LNMP
L:linux操作系统
Nnginx展示前端页面web服务
Mmysql数据库保存用户和密码以及论坛相关的内容
Pphp动态请求转发的中间件
数据库的作用 登录时验证用户名和密码 创建用户和密码 发布和评论帖子需要保存到数据库
2、搭建论坛原理图 3、 编译安装nginx
安装前
先rpm -q nginx如果显示有这个软件就yum -y remove nginx
如果显示没有这个软件或者yum卸载了之后再nginx -t 看一下有没有执行结果
如果提示你没有这个命令说明没有用源码安装过接下来就可以搞今天的安装内容了如果不放心去/usr/local/目录找一下有没有nginx这个目录有就删掉这个目录。
如果提示有结果不管是OK还是失败都说明之前用源码安装过了这时候去/usr/local/目录下把nginx目录删了再进行今天的步骤。源码安装只要删除安装目录就行。
准备关闭防火墙及安全机制准备接收文件
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭安全机制
rz -E //接收文件
第一步把源码包放入到系统之中。
使用xshell终端的可以直接从本机拖进虚拟机
第二步安装编译过程中需要的依赖环境。
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
第三步创建Nginx程序运行需要的用户和组
useradd -M -s /sbin/nologin nginx #不创建家目录指定/sbin/nologin
第四步编译安装 解压源码包
tar -xf nginx-1.22.0.tar.gz
cd 到解压出来的目录下进行下面的操作(nginx-1.22.0) 开始配置配置程序的安装路径安装基于程序需要的安装组件(在安装包的目录里进行这个操作下面有不带注释的版本)
./configure --prefix/usr/local/nginx \ #配置安装路径
--usernginx \ #配置用户
--groupnginx \ #配置组
--with-http_ssl_module \ #支持https的加密功能ssl/tsl
--with-http_v2_module \ #支持http2.0协议
--with-http_realip_module \ #支持Nginx获取客户端的真实IP地址
--with-http_stub_status_module \ #支持Nginx获取访问状态信息的功能
--with-http_gzip_static_module \ #支持页面压缩文本
--with-pcre \ #支持pcre库
--with-stream \ #支持4层代理的模块
--with-stream_ssl_module \ #支持对tcp连接的加密
--with-stream_realip_module #持从代理协议中获取客户端的真实ip地址 编译和安装
make -j 4 make install #第一个make编译第二个make install安装
#make -j 4 启动4个CPU进行处理
第五步后续配置设置权限和系统管理配置 配置权限
cd /usr/local
chown -R nginx.nginx nginx #对/usr/local目录下nginx目录更改所属 /usr/local/nginx目录下的四个目录的解释 conf 配置文件目录主配置文件nginx.conf html 工作目录50x.html默认的访问操作打开的页面index.html logs 日志目录访问日志、报错日志 sbin 二进制启动脚本nginx 做一个软连接让系统能够识别nginx的指令
ln -s /usr/local/nginx/sbin/nginx /usr/bin /usr/sbin也行
如果系统提示“该文件已存在”没有关系这一步也算完成了 设置系统控制系统能够对nginx这个软件的运行状态进行控制。
vim /lib/systemd/system/nginx.service
-----------------------------------------
[Unit]
Descriptionnginx - high performance web server
Documentationhttp://nginx.org/en/docs/
Afternetwork-online.target remote-fs.target nss-lookup.target
#表示支持dns解析以及该软件依赖于网络。
Wantsnetwork-online.target
#先启动网络服务才能启动nginx
[Service]
Typeforking
PIDFile/usr/local/nginx/run/nginx.pid
#注意文件位置如果不对 启动不了
ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#注意启动文件位置
ExecReload/bin/kill -s HUP $MAINPID
ExecStop/bin/kill -s TERM $MAINPID
[Install]
WantedBymulti-user.target
#支持多用户模 1、修改nginx的配置文件把pid文件的位置指向到设置的位置
cd /usr/local/nginx
mkdir run
chown -R nginx.nginx /usr/local/nginx/run #递归修改run目录所属
cd /usr/local/nginx/conf
vim nginx.conf #编辑要修改的配置文件
修改 nginx.conf 文件的内容中 pid 指向的位置
pid /usr/local/nginx/run/nginx.pid;
修改完后
nginx -t #检测nginx.conf当中的语法是否正确提示OK则正常
systemctl daemon-reload #重新加载systemd守护进程
systemctl restart nginx #重启nginx服务
nginx -v #查看nginx版本号
systemctl stop nginx #停止nginx服务
在web页面访问虚拟机IP地址可以看到“welcome to nginx”
4、安装mysql
本次安装使用的是绿色硬盘版本无需额外安装依赖环境。
cd /opt
tar -xf mysql安装包
mv 解压出的目录 /usr/local/mysql
#创建程序用户
useradd -M -s /sbin/nologin mysql
#mysql的主配置文件设定所属用户和组
chown -R mysql.mysql /usr/local/mysql/
chown mysql.mysql /etc/my.cnf 修改配置文件
vim /etc/my.cnf
[client]
port 3306
#客户端访问的端口
socket/usr/local/mysql/mysql.sock
#指定MySQL的通信套接字文件[mysqld]
user mysql
basedir/usr/local/mysql
#MySQL的安装目录
datadir/usr/local/mysql/data
#MySQL数据保存的目录
port 3306
#服务端的端口
character-set-serverutf8
#字符集的编码
pid-file /usr/local/mysql/mysqld.pid
#pid文件位置
socket/usr/local/mysql/mysql.sock
bind-address 0.0.0.0
#表示任意地址都可以访问数据库
skip-name-resolve
max_connections2048
default-storage-engineINNODB
#MySQL默认的存储引擎
max_allowed_packet16M
server-id 1
sql_mode STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#MySQL支持的数据类型和相关的模块 设置环境变量声明/宣告MySQL命令便于系统识别
echo PATH$PATH:/usr/local/mysql/bin /etc/profile
source /etc/profile 初始化数据库
cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--usermysql \
--basedir/usr/local/mysql \
--datadir/usr/local/mysql/data
设置系统识别进行操作
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod x /etc/init.d/mysqld
systemctl daemon-reload
systemctl restart mysqld
初始化数据库密码
mysqladmin -u root -p password 123456
#在交互界面直接回车不要输入 进入数据库
mysql -u root -p123456
#进入数据库交互界面
show databases;
#创建用户并设置密码
create user root% identified by 123456;
#赋予远程连接的权限
grant all privileges on *.* to root%;
#刷新生效
flush privileges;
#修改加密方式可以进行远程连接
alter user root% identified with mysql_native_password by 123456;
exit; 数据库安装完成。
5、安装php
1、安装依赖环境
yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel \
oniguruma-devel \
sqlite-devel 2、编译安装
tar -xf php-8.1.27.tar.gz
cd php-8.1.27
./configure \
--prefix/usr/local/php \
--with-mysql-sock/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-pdo-mysql \
--with-openssl \
--with-sqlite-devel \
--with-oniguruma-devel \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zipmake -j 4 make install --with-mysqli: 启用MySQLi扩展用于支持MySQL数据库。
--with-zlib: 启用Zlib库用于压缩和解压缩数据。
--with-curl: 启用cURL库用于支持对URL的操作如下载文件等。
--with-gd: 启用GD库用于处理图像。
--with-jpeg-dir: 指定JPEG库的路径用于GD库对JPEG格式图片的处理。
--with-png-dir: 指定PNG库的路径用于GD库对PNG格式图片的处理。
--with-freetype-dir: 指定FreeType库的路径用于GD库对字体的支持。
--with-openssl: 启用OpenSSL库用于支持SSL加密和HTTPS协议。
--enable-fpm: 启用PHP-FPMFastCGI Process Manager用于提供更高效的PHP进程管理和请求处理。
--enable-mbstring: 启用多字节字符串支持用于处理多字节字符集的操作。 --enable-xml: 启用XML支持用于处理XML文档和数据。
--enable-session: 启用会话支持用于在不同页面间保持用户会话状态。
--enable-ftp: 启用FTP支持用于对FTP服务器进行操作。
--enable-pdo: 启用PDOPHP Data Objects用于支持数据库访问的统一接口。
--enable-tokenizer: 启用Tokenizer扩展用于对字符串进行分词处理。
--enable-zip: 启用Zip扩展用于对ZIP文件进行操作。
3、路径优化使系统能识别到PHP
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
4、调整PHP配置文件 PHP有三个配置文件
php.ini 主配置文件
php_fpm.conf 进程服务配置文件
www.conf 扩展配置文件在安装包目录下的/php_fpm.d目录下
调整主配置文件
cp /opt/php-8.1.27/php.ini-development /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini
#--976行--取消注释修改
date.timezone Asia/Shanghai
#--1181行--修改
mysqli.default_socket /usr/local/mysql/mysql.sock
#修改完成退出并验证安装的模块
php -m
调整进程服务配置文件
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#--17行--去掉;注释
pid run/php-fpm.pid 调整扩展配置文件
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf 5、启动php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
PHP-FPM(FastCGI Process ManagerFastCGI 进程管理器)是一个 PHPFastCGI 管理器 由于Nginx服务器不能处理动态页面需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。
cd /opt/php-8.1.27/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl daemon-reload
systemctl restart php-fpm.service
netstat -anpt | grep 9000
#直接看9000端口是不是PHP占用中
6、 配置 Nginx 支持 PHP 解析
在nginx.conf中修改
location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;#把当前Nginx的工作目录作为处理动态请求的目录访问.php文件就会转发到PHP进行处理include fastcgi_params;
}
systemctl restart nginx.service #重启 7、验证PHP测试页
vim /usr/local/nginx/html/index.php
?php
phpinfo();
? 8、验证数据库工作是否正常
进入数据库创建专门用来保存论坛信息的用户和库
mysql -u root -p123456
#进入数据库交互界面
create database bbs;
create user bbsuser% identified by admin123;
#创建用户 bbsuser 密码 admin123
grant all privileges on bbs.* to bbsuser%;
flush privileges;CREATE USER bbsuserlocalhost IDENTIFIED BY admin123;
grant all privileges on bbs.* to bbsuserlocalhost;
flush privileges;
exit
修改测试页
vim /usr/local/nginx/html/index.php
?php
$linkmysqli_connect(192.168.10.10,bbsuser,admin123);
#ip地址为提供MySQL服务的主机地址
if($link) echo h1Success!!/h1;
else echo Fail!!;
?
测试页面返回Success则成功失败则返回Fail!!
6、部署Discuz
unzip /opt/Discuz_X3.5_SC_UTF8.zip -d /opt/dis
cp -r /opt/dis/upload/ /usr/local/nginx/html/bbs/
cd /usr/local/nginx/html/#调整论坛目录的权限懒人版
chown -R nginx.nginx bbs/
chmod -R 777 bbs/#实际需要调整权限的目录
cd /usr/local/nginx/html/bbs/
chown -R nginx ./config/
chown -R nginx ./data/
chown -R nginx ./uc_client/
chown -R nginx ./uc_server/
#以及
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/浏览器访问
http://192.168.10.10/bbs/install/index.php
安装discuz
访问 192.168.10.10/bbs/index.php
访问 192.168.10.10/bbs/admin.php
7、部署Woedpress 进入数据库创建专门用来保存论坛信息的用户和库
mysql -u root -p123456
#进入数据库交互界面
create database wordpress;
#创建数据库wordpress
create user wdpuser% identified by admin123;
#创建用户 wdpuser 密码 admin123
grant all privileges on wordpress.* to wdpuser%;
flush privileges;CREATE USER wdpuserlocalhost IDENTIFIED BY admin123;
grant all privileges on wordpress.* to wdpuserlocalhost;
flush privileges;
exit
解压WordPress的压缩包命名为wordpress复制解压缩的包到/usr/local/nginx/html下
cd /usr/local/nginx/html/wordpress
cp wp-config-sample.php wp-config.php
vim wp-config.php
#把对应的数据库名称、用户名、用户密码改成和数据库中的设定一致#对wordpress目录递归赋权和改变所属
cd ..
chmod -R 777 wordpress
chown -R nginx.nginx wordpress
浏览器访问http://20.0.0.10/wordpress/index.php