LNMP部署
一 LINUX 环境搭建
1、检查系统是否正常
more /var/log/messages(检查有无系统级错误信息)
dmesg (检查硬件设备是否有错误信息)
cat /proc/cpuinfo (检查 CPU 频率是否正常)
top (按 1 检测 CPU 核数是否正常,内存大小是否正常)
ifconfig(检查网卡设置是否正确)
ping www.baidu.com(检查网络是否正常)
2,关闭防火墙
systemctl stop firewalld
关闭selinux安全子系统 并设置参数
setenforce 0
可以使用getenforce检查是否关闭
vi /etc/selinux/config 修改第七行为permissive
3 ,yum源配置
新安装的虚拟机,当前需要先配置本地源才可以使用yum
创建一个挂载点 mkdir /opt/centos
mount -o loop /dev/sr0 /mnt/
cp -rfv /mnt/* /opt/centos
rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
然后
yum clean all 清空原有yum缓存ls
yum makecache 建立元数据
echo ‘nameserver 114.114.114.114’ >> /etc/resolv.conf
配置网络源yum
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum -y update 升级软件包
4,配置基础环境
基础开发环境
yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libtiff-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel fontconfig-devel zlib zlib-devel libevent-devel gcc gcc-c++ flex bison bzip2-devel libXpmlibXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc+±33 curl curl-devel
二.开始部署LNMP
如果yum仓库没有就执行以下命令
wget -O ./ https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm
rpm -ivh nginx-1.20.1-1.el7.ngx.x86_64.rpm
如果yum仓库有资源包 就执行以下命令安装nginx
yum -y install nginx
开启nginx
systemctl start nginx
查看nginx的进程是否产生
ps -ef | grep nginx
查看 端口号是否开启
netstat -tunlp | grep 80
查看nginx的文件
rpm -ql nginx | grep html
nginx 动态站点部署
三MySQL部署
安装mysql软件包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
解压mysql软件包
tar -xf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz
解压完成后使用ls查看
进入目录 cd mysql-8.0.20-linux-glibc2.12-x86_64
将mysql的bin目录的路径写在环境变量中(这里的环境变量要根据自己的mysql的bin目录的地址来写)
vim /etc/profile
export PATH=$PATH:/root/mysql-8.0.20-linux-glibc2.12-x86_64/bin
然后source /etc/profile 才会生效
使用echo $PATH查看是否生效
显示已经成功写入环境变量
可以用mysql -V 如果显示mysql的版本号说明成功
创建用户,组,初始化数据库降低mysql的运行权限
groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin
目录初始化
mkdir -p /data/mysql8_data
更改属主和数组
chown -R mysql:mysql /data/mysql8_data
更改模式
chmod -R 750 /data/mysql8_data
修改配置文件
在/usr/local/etc/下写一个配置文件my.cnf
vi /usr/local/etc/my.cnf
[mysql]
default-character-set=utf8mb4
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
server-id = 3306
user = mysql
socket = /tmp/mysql.sock
basedir = /usr/local/mysql8
datadir = /data/mysql8_data/mysql
log-bin = /data/mysql8_data/mysql/mysql-bin
innodb_data_home_dir =/data/mysql8_data/mysql
innodb_log_group_home_dir =/data/mysql8_data/mysql
log-error =/data/mysql8_data/mysql/mysql.log
pid-file =/data/mysql8_data/mysql/mysql.pid
character-set-server=utf8mb4
lower_case_table_names=1
autocommit =1
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 4M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 64M
thread_cache_size = 128
#query_cache_size = 128M
tmp_table_size = 128M
explicit_defaults_for_timestamp = true
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
binlog_format=mixed
binlog_expire_logs_seconds =864000
default_storage_engine = InnoDB
innodb_data_file_path = ibdata1:10M:autoextend
innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
transaction-isolation=READ-COMMITTED
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 4M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
初始化数据库
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure
完成后可以查看数据库是否生成内置的一些库表
ls /data/mysql8_data/mysql
nohup mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
查看3306端口是否启用
netstat -tunlp | grep 3306
mysql -uroot 登录
修改密码为123456,
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
让密码直接生效
flush privileges;
成功登录
创建用户 root 允许任何地点登录
create user ‘root’@‘%’ ;
设置首次密码
ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
授权所有用户权限
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’;
刷新权限
flush privileges;
连接MySQL
创建一个名为discuz的数据库
四,PHP部署
php要配置第三方源
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install yum-utils
sudo yum-config-manager --enable remi-php74
sudo yum update
sudo yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json
使用php -V查看php版本号
php -v
修改php启动进程
修改php,启动进程,权限问题
sed -i ‘/^user/c user = nginx’ /etc/php-fpm.d/www.conf
sed -i ‘/^group/c group = nginx’ /etc/php-fpm.d/www.conf
创建用户
useradd -s /sbin/nologin nginx
开启php-fpm服务
systemctl start php-fpm
创建一个php脚本
cat > info.php
<?php echo "www.yuchaoit.cn"; phpinfo(); ?>测试
nginx反向代理
cd /etc/nginx/conf.d/ (注意千万不要写到nginx下,浏览器无法访问或者端口没有开启就想看是否是自己的路径写错了)
创建一个conf文件
vi discuz.conf
server{
listen 10020;
server_name _;
###### #静态请求
root /discuz;
index index.php index.html;
###### #动态请求
location ~ \.php$ {
root /discuz;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启nginx服务
systemctl restart nginx
并查看nginx是否启用了一个10020的端口号
netstat -tunlp | grep nginx
创建discuz目录
mkdir /discuz
cd /discuz
测试nginx加上php是否可以正常运行
创建一个php脚本
vi hello.php
<?php echo "hello world" phpinfo(); ?>在宿主机浏览器中访问
成功访问运行
下载discuz源码包
wget https://gitee.com/Discuz/DiscuzX/attach_files/1345207/download
解压源码包
unzip Discuz_X3.5_SC_UTF8_20230316.zip
将upload 下的所有源码移动到discuz下
mv /root/upload/* /discuz
然后在浏览器中输入虚拟机ip:10020 直接回车
进入安装界面发现用户www没有r权限 提权
chown -R www.www /discuz
然后刷新浏览器
如果第一步显示无法解析主机地址就是因为没有配置dns服务器地址(在其他配置无误的情况下)
#配置的dns服务器
echo 'nameserver 114.114.114.114
om/Discuz/DiscuzX/attach_files/1345207/download
解压源码包
unzip Discuz_X3.5_SC_UTF8_20230316.zip
将upload 下的所有源码移动到discuz下
mv /root/upload/* /discuz
然后在浏览器中输入虚拟机ip:10020 直接回车
进入安装界面发现用户www没有r权限 提权
chown -R www.www /discuz
然后刷新浏览器
如果第一步显示无法解析主机地址就是因为没有配置dns服务器地址(在其他配置无误的情况下)
[外链图片转存中…(img-sfXM2cVr-1705668122822)]
#配置的dns服务器
echo 'nameserver 114.114.114.114
nameserver 8.8.8.8’ >> /etc/resolv.conf
原文地址:https://blog.csdn.net/2303_77073508/article/details/135706670
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!