linux怎么查看本机内存大小
238
2022-11-01
LNMP架构搭建之论坛
一、nginx服务安装
1.关闭防火墙将安装包全部拖入/opt目录下
systemctl stop firewalldsystemctl disable firewalldsetenforce 0
2.安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
3.创建运行用户、组
Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限Nginx服务程序默认以匿名运行useradd -M -s /sbin/nologin nginx
4.编译安装Nginx
cd /opttar zxvf nginx-1.20.2.tar.gz cd nginx-1.20.2/./configure \ --prefix=/usr/local/nginx \ #指定nginx的安装路径--user=nginx \ #指定用户名--group=nginx \ #指定组名--with- #启用 模块以支持状态统计 make -j2 && make install ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令
5.添加 Nginx 系统服务
vim /lib/systemd/system/nginx.service[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecrReload=/bin/kill -s HUP $MAINPIDExecrStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target chmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.servicesystemctl enable nginx.service
6.nginx结果验证
二、mysql搭建
1.安装Mysql环境依赖包
yum -y install \gcc \gcc-c++ \ncurses \ #字符终端下图形互动功能的动态库ncurses-devel \ #ncurses开发包bison \ #语法分析器cmake #mysql需要用cmake编译安装yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
2.创建程序用户,便于准确控制访问用户
useradd -M -s /sbin/nologin mysql
3.配置软件模块并编译安装
cd /opttar xzvf mysql-boost-5.7.20.tar.gz -C /opt cd /opt/mysql-5.7.20/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=boost \-DWITH_SYSTEMD=1 #编译及安装make -j4 && make install
4.修改mysql 配置文件
vim /etc/my.cnf[client]port = 3306socket=/usr/local/mysql/mysql.sock [mysqld]user = mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport = 3306character-set-server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket=/usr/local/mysql/mysql.sockbind-address = 0.0.0.0skip-name-resolvemax_connections=2048default-storage-engine=INNODBmax_allowed_packet=16Mserver-id = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES' > /etc/my.cnf
5.更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysqlchown mysql:mysql /etc/my.cnf
6.设置路径环境变量
echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile source /etc/profile
7.初始化数据库
cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \ #生成初始化密码为空--user=mysql \ #指定管理用户--basedir=/usr/local/mysql \ #指定数据库的安装目录--datadir=/usr/local/mysql/data #指定数据库文件的存储路径./mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data
8.添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用于systemctl服务管理systemctl daemon-reload #刷新识别 systemctl start mysqld.service #开启服务systemctl enable mysqld #开机自启动netstat -anpt | grep 3306 #查看端口
9.修改mysql 的登录密码
mysqladmin -u root -p password "123456" #给root账号设置密码为123456,提示输入的是原始密码(为空)
10.授权远程登录
mysql -u root -pgrant all privileges on *.* to 'root'@'%' identified by 'abc123';#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限 show databases; #查看当前已有的数据库
三、php服务搭建
1.安装GD库和GD库关联程序,用来处理和生成图片
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
2.配置软件模块
cd /opttar zxvf php-7.1.24.tar.gzcd /opt/php-7.1.24/ ./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-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zip
3.编译及安装
make -j2 && make install
4.复制模版文件作为PHP 的主配置文件,并进行修改
cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini vim /usr/local/php/lib/php.ini--1170行--修改mysqli.default_socket = /usr/local/mysql/mysql.sock--939行--取消注释,修改date.timezone = Asia/Shanghai
5.优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php/bin/* /usr/local/bin/ php -m #查看PHP 加载了哪些模块
6.进程服务配置文件:php-fpm.conf
cd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.conf vim /usr/local/php/etc/php-fpm.conf 17行 pid = run/php-fpm.pid'
7.扩展配置文件:conf
cd /usr/local/php/etc/php-fpm.d/cp conf.default conf
8.启动php-fpm
ln -s /usr/local/php/sbin/* /usr/local/sbin/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000
9.修改nginx服务的配置文件,让nginx支持PHP
vim /usr/local/nginx/conf/nginx.conf --65行--取消注释,修改65c location ~ \.php$ {' 66c root html;' 67c fastcgi_pass 127.0.0.1:9000;' 68c fastcgi_index index.php;' 69c fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;' 70c include fastcgi_params;' 71c }' systemctl restart nginx.serviceecho '' > /usr/local/nginx/html/index.php
10.验证PHP测试页
四、部署Discuz社区论坛
1.创建一个数据库
mysql -u root -p mysql> CREATE DATABASE bbs;#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码 mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY '123456'; #刷新数据库mysql>flush privileges; #解压论坛压缩包unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis cd /opt/dis#上传站点更新包cp -r upload/ /usr/local/nginx/html/bbs #切换论坛目录cd /usr/local/nginx/html/bbs #更改论坛目录属主(-R nginx ./configchown -R nginx ./datachown -R nginx ./uc_clientchown -R nginx ./uc_server/data 数据库服务器:localhost #本地架设就用localhost,如果不是在本机上就要填写IP地址和端口号数据库名字:bbs数据库用户名:bbuser数据库密码:自行输入管理员账号:admin管理员密码:自行输入
2.解压论坛压缩包
3.上传站点更新包
4.更改论坛目录属主
chmod -R 777 ./config/ ./data/ ./uc_client/ ./uc_server/ ##若不行则将权限全部改为777
5.验证是否能登陆并注册用户
论坛页面访问stop firewalldsystemctl disable firewalldsetenforce 0 #======编译安装nginx服务======#安装所需开发包和编译环境、编译器yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make#创建程序用户,便于准确控制访问useradd -M -s /sbin/nologin nginx #解压安装包cd /opttar zxvf nginx-1.20.2.tar.gz -C /opt/ #指定安装路径、指定用户名、组名、启用模块以支持统计状态cd nginx-1.20.2/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with---with-file-aio --with---with- #编译及安装make -j2 && make install #软链接便于系统识别nginx操作命令ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #添加nginx系统服务echo '[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecrReload=/bin/kill -s HUP $MAINPIDExecrStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target' > /lib/systemd/system/nginx.service #赋权及开启服务、开启开机自启chmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.servicesystemctl enable nginx.service #=======编译安装mysql服务=======#安装Mysql环境依赖包yum -y install \ncurses \ncurses-devel \bison \cmake #创建程序用户,便于准确控制访问用户useradd -M -s /sbin/nologin mysql #编译安装cd /opttar xzvf mysql-boost-5.7.20.tar.gz -C /opt cd /opt/mysql-5.7.20/cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=boost \-DWITH_SYSTEMD=1 #编译及安装make -j4 make install #修改mysql 配置文件echo '[client]port = 3306socket=/usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport = 3306character-set-server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket=/usr/local/mysql/mysql.sockbind-address = 0.0.0.0skip-name-resolvemax_connections=2048default-storage-engine=INNODBmax_allowed_packet=16Mserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES' > /etc/my.cnf #更改mysql安装目录和配置文件的属主属组chown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf #设置软连接方便使用 ln -s /usr/local/mysql/bin/* /usr/local/binln -s /usrlocal/mysql/sbin/* /usr/local/sbin #初始化数据库cd /usr/local/mysql/bin/./mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data #添加mysqld系统服务cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reloadsystemctl start mysqld.servicesystemctl enable mysqld echo -e "\033[31m mysql安装完成!\033[0m" #=====PHP=======#安装环境依赖包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 #编译安装cd /opttar xzvf php-7.1.24.tar.gz cd php-7.1.24./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-openssl \--enable-fpm \--enable-mbstring \--enable-xml \--enable-session \--enable-ftp \--enable-pdo \--enable-tokenizer \--enable-zip make && make install ln -s /usr/local/php/bin/* /usr/local/bin/ #主配置文件:php.inicp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.inised -i '1170c mysqli.default_socket = /usr/local/mysql/mysql.sock' /usr/local/php/lib/php.ini sed -i '939c date.timezone = Asia/Shanghai' /usr/local/php/lib/php.ini#验证安装的模块php -m #进程服务配置文件:php-fpm.confcd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.conf sed -i '17c pid = run/php-fpm.pid' /usr/local/php/etc/php-fpm.conf #扩展配置文件:confcd /usr/local/php/etc/php-fpm.d/cp conf.default conf #启动php-fpmln -s /usr/local/php/sbin/* /usr/local/sbin/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000 #配置 Nginx 支持 PHP 解析#--65行--取消注释,修改sed -i '66c location ~ \.php$ {' /usr/local/nginx/conf/nginx.confsed -i '67c root html;' /usr/local/nginx/conf/nginx.confsed -i '68c fastcgi_pass 127.0.0.1:9000;' /usr/local/nginx/conf/nginx.confsed -i '69c fastcgi_index index.php;' /usr/local/nginx/conf/nginx.confsed -i '70c fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;' /usr/local/nginx/conf/nginx.confsed -i '71c include fastcgi_params;' /usr/local/nginx/conf/nginx.confsed -i '72c }' /usr/local/nginx/conf/nginx.confsystemctl restart nginx.service echo '' > /usr/local/nginx/html/index.phpk=`ip a | grep "ens33" | awk 'NR==2{print$2}' | awk -F/ '{print$1}'`
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~