省西省建设厅网站,网络服务商网站,商洛 网站建设,网站建设的目前背景数据流向 一、Nginx服务安装
1、关闭防火墙
[rootking ~]# systemctl stop firewalld
[rootking ~]# systemctl disable firewalld
[rootking ~]# setenforce 0 2、将所需软件包拖入/opt目录下 3、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 4、创建运…数据流向 一、Nginx服务安装
1、关闭防火墙
[rootking ~]# systemctl stop firewalld
[rootking ~]# systemctl disable firewalld
[rootking ~]# setenforce 0 2、将所需软件包拖入/opt目录下 3、安装依赖包 yum -y install pcre-devel zlib-devel gcc gcc-c make 4、创建运行用户、组 useradd -M -s /sbin/nologin nginx 5、配置软件模块
cd /opt
tar zxvf nginx-1.20.2.tar.gzcd nginx-1.20.2/
./configure \
--prefix/usr/local/nginx \ #指定nginx的安装路径
--usernginx \ #指定用户名
--groupnginx \ #指定组名
--with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计 6、编译安装Nginx
make -j2 make install 7、优化配置文件路径便于系统识别Nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #让系统识别nginx的操作命令8、添加Nginx系统服务
vim /lib/systemd/system/nginx.service
[Unit]
Descriptionnginx
Afternetwork.target
[Service]
Typeforking
PIDFile/usr/local/nginx/logs/nginx.pid
ExecStart/usr/local/nginx/sbin/nginx
ExecrReload/bin/kill -s HUP $MAINPID
ExecrStop/bin/kill -s QUIT $MAINPID
PrivateTmptrue
[Install]
WantedBymulti-user.target 9、赋权重启服务并设置开机自启
chmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service systemctl enable nginx.service 10、验证服务 二、编译安装MySQL服务 1、将所需软件包拖入/opt目录下 2、安装环境依赖包
yum -y install gcc gcc-c ncurses ncurses-devel bison cmake
3、配置软件模块
tar zxf boost_1_59_0.tar.gz tar zxf mysql-5.7.17.tar.gz mv boost_1_59_0 /usr/local/boost cd /opt/mysql-5.7.17/ cmake \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ -DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ -DSYSCONFDIR/etc \ -DSYSTEMD_PID_DIR/usr/local/mysql \ -DDEFAULT_CHARSETutf8 \ -DDEFAULT_COLLATIONutf8_general_ci \ -DWITH_EXTRA_CHARSETSall \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DWITH_ARCHIVE_STORAGE_ENGINE1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ -DMYSQL_DATADIR/usr/local/mysql/data \ -DWITH_BOOST/usr/local/boost \ -DWITH_SYSTEMD1 4、编译及安装
make -j2 make install 5、创建mysql用户
useradd -M -s /sbin/nologin mysql 6、修改mysql配置文件
[rootking mysql-5.7.17]# vim /etc/my.cnf[client]
port 3306
socket/usr/local/mysql/mysql.sock[mysqld]
user mysql
basedir/usr/local/mysql
datadir/usr/local/mysql/data
port 3306
character-set-serverutf8
pid-file /usr/local/mysql/mysqld.pid
socket/usr/local/mysql/mysql.sock
bind-address 0.0.0.0
skip-name-resolve
max_connections2048
default-storage-engineINNODB
max_allowed_packet16M
server-id 1sql_modeNO_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 7、修改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql chown mysql:mysql /etc/my.cnf 8、设置路径环境变量
echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profile source /etc/profile 9、初始化数据库
cd /usr/local/mysql/bin/ ./mysqld \ --initialize-insecure \ #生成初始化密码为空 --usermysql \ #指定管理用户 --basedir/usr/local/mysql \ #指定数据库的安装目录 --datadir/usr/local/mysql/data #指定数据库文件的存储路径 10、添加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 #查看端口 11、修改mysql的登录密码
mysqladmin -u root -p password 123456 12、授权远程登录然后quit退出
mysql -u root -p grant all privileges on *.* to root% identified by 123456; #授予root用户可以在所有终端远程登录使用的密码是123456并对所有数据库和所有表有操作权限 show databases; #查看当前已有的数据库 三、编译安装php服务
1、将所需软件包拖入/opt目录下 2、安装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 3、配置软件模块
tar zxf php-7.1.24.tar.gz cd /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 4、编译及安装
make -j2 make install 5、复制模版文件作为PHP 的主配置文件并进行修改
cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini vim /usr/local/php/lib/php.ini
--939行--取消注释修改时区 date.timezone Asia/Shanghai
--1170行--修改 mysqli.default_socket /usr/local/mysql/mysql.sock 6、优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php/bin/* /usr/local/bin/ php -m #查看PHP 加载了哪些模块 7、进程服务配置文件php-fpm.conf
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.confvim /usr/local/php/etc/php-fpm.conf17行取消注释 pid run/php-fpm.pid
8、扩展配置文件www.conf
cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf 9、启动php-fpm
ln -s /usr/local/php/sbin/* /usr/local/sbin
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000 10、修改nginx服务的配置文件让nginx支持PHP
vim /usr/local/nginx/conf/nginx.conf --45行添加index.php location / { root html; index index.html index.htm index.php; } --65行到71行--取消注释修改 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; #将 /scripts 修改为nginx的工作目录 #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root 代表当前请求在root指令中指定的值 include fastcgi_params; }
systemctl restart nginx.service 11、验证PHP 测试页
[rootking php-fpm.d]# vim /usr/local/nginx/html/index.php
?php
phpinfo();
? 四、部署Discuz社区论坛
1、创建一个数据库
mysql -u root -p
mysql CREATE DATABASE bbs;
#把bbs数据库里面所有表的权限授予给bbsuser并设置密码
mysql GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY 123456
#刷新数据库
mysqlflush privileges; 2、将论坛所需软件包拖入/opt目录下并解压
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis 3、上传站点更新包
cd dis/dir_SC_UTF8/ cp -r upload/ /usr/local/nginx/html/bbs 4、更改轮完目录属主
调整论坛目录的权限 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/ 5、论坛页面访问安装Discuz论坛
论坛页面访问
http://192.168.109.12/bbs/install/index.php数据库服务器localhost ###本地架设就用localhost如何不是在在本机上就要填写IP地址和端口号
数据库名字bbs
数据库用户名bbsuser
数据库密码123456
管理员账号:admin
管理员密码:123456 6、测试能否注册新用户
访问论坛页面 http://192.168.109.12/bbs/index.php http://192.168.109.12/bbs/admin.php
五、一键部署LNMP脚本
#!/bin/bash #关闭系统防火墙和安全机制 systemctl stop firewalld systemctl disable firewalld setenforce 0
cat EOF 欢迎使用LNMP架构服务搭建 请将安装包放入/opt目录下 1.安装nginx服务 2.安装mysql 3.安装php 4.一键安装LNMP架构 EOF read -p 请输入你的选择 choice
#编译安装nginx服务 #1、安装所需开发包和编译环境、编译器 Nginx () { yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c make #2、创建程序用户便于准确控制访问 useradd -M -s /sbin/nologin nginx
#3、解压安装包 cd /opt tar zxf nginx-1.20.2.tar.gz -C /opt/
#4、指定安装路径、指定用户名、组名、启用模块以支持统计状态 cd nginx-1.20.2/ ./configure --prefix/usr/local/nginx --usernginx --groupnginx --with-http_stub_status_module #5、编译及安装 make -j2 make install
#6、优化配置文件路径便于系统识别nginx操作命令 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
#7、添加nginx系统服务 echo [Unit] Descriptionnginx Afternetwork.target [Service] Typeforking PIDFile/usr/local/nginx/logs/nginx.pid ExecStart/usr/local/nginx/sbin/nginx ExecrReload/bin/kill -s HUP $MAINPID ExecrStop/bin/kill -s QUIT $MAINPID PrivateTmptrue [Install] WantedBymulti-user.target /lib/systemd/system/nginx.service
#8、赋权及开启服务、开启开机自启 chmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service systemctl enable nginx.service
if [ $? -eq 0 ];then echo nginx服务安装完成 else echo 服务安装失败请检查 fi
} #编译安装mysql服务 #1、安装Mysql环境依赖包 Mysql () { yum -y install gcc gcc-c ncurses ncurses-devel bison cmake
#2、创建程序用户便于准确控制访问用户 useradd -M -s /sbin/nologin mysql
#3、配置软件模块 cd /opt tar zxf boost_1_59_0.tar.gz tar zxf mysql-5.7.17.tar.gz mv boost_1_59_0 /usr/local/boost cd /opt/mysql-5.7.17/
cmake \ -DCMAKE_INSTALL_PREFIX/usr/local/mysql \ -DMYSQL_UNIX_ADDR/usr/local/mysql/mysql.sock \ -DSYSCONFDIR/etc \ -DDEFAULT_COLLATIONutf8_general_ci \ -DWITH_EXTRA_CHARSETSall \ -DWITH_INNOBASE_STORAGE_ENGINE1 \ -DWITH_ARCHIVE_STORAGE_ENGINE1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE1 \ -DWITH_PERFSCHEMA_STORAGE_ENGINE1 \ -DMYSQL_DATADIR/usr/local/mysql/data \ -DWITH_BOOST/usr/local/boost \ -DWITH_SYSTEMD1
#4、编译及安装 make -j2 make install
#5、修改mysql 配置文件 echo [client] port 3306 socket/usr/local/mysql/mysql.sock
[mysqld] user mysql basedir/usr/local/mysql datadir/usr/local/mysql/data port 3306 character-set-serverutf8 pid-file /usr/local/mysql/mysqld.pid socket/usr/local/mysql/mysql.sock bind-address 0.0.0.0 skip-name-resolve max_connections2048 default-storage-engineINNODB max_allowed_packet16M server-id 1
sql_modeNO_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
#6、更改mysql安装目录和配置文件的属主属组 chown -R mysql:mysql /usr/local/mysql/ chown mysql:mysql /etc/my.cnf
#7、设置路径环境变量 echo export PATH/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH /etc/profile source /etc/profile #8、初始化数据库 cd /usr/local/mysql/bin/ ./mysqld \ --initialize-insecure \ --usermysql \ --basedir/usr/local/mysql \ --datadir/usr/local/mysql/data
#9、添加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 #开机自启动
echo -e \033[31m mysql安装完成\033[0m if [ $? -eq 0 ];then echo MYSQL安装完成 else echo 服务安装异常请检查 fi }
#PHP #1、安装环境依赖包 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
#2、配置软件模块 cd /opt tar xzf 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 \
#3、编译安装 make -j3 make install #4、主配置文件php.ini cp /opt/php-7.1.24/php.ini-development /usr/local/php/lib/php.ini sed -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
#5、优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别 ln -s /usr/local/php/bin/* /usr/local/bin/ ln -s /usr/local/php/sbin/* /usr/local/sbin/ php -m #6、进程服务配置文件php-fpm.conf cd /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
#7、扩展配置文件www.conf cd /usr/local/php/etc/php-fpm.d/ cp www.conf.default www.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.ini netstat -anpt | grep 9000 if [ $? -eq 0 ];then echo 服务安装成功 else echo 服务安装失败请检查 fi }
#9、配置 Nginx 支持php解析 #--65行--取消注释修改 conf(){ cd /usr/local/nginx/conf/
sed -i 65,71s/#/ /g nginx.conf
sed -i 69s/\/scripts/\/usr\/local\/nginx\/html/g nginx.conf echo ?php phpinfo(); ? /usr/local/nginx/html/index.php systemctl restart httpd }
################调用函数################################### case $choice in 1) Nginx ;; 2) Mysql ;; 3) Php ;; 4) nginx sleep 2 mysql sleep 2 php sleep 2 conf ;; *) echo 请输入正确选项 esac