环境:```html/xmlip:192.168.206.5 LANP服务机win7客机一个 使用192.168.206.0/24 网段的DHCP服务需求:nginx、musql、 php的安装包centos7 完成防火墙关闭和本地yum仓库配置opt目录中存放压缩包文件LANP:建议4核心,8G内存以上
### 首先安装nginx (nginx-1.12.2.tar.gz 压缩包) 首先是安装nginx的相关依赖包 ```html/xml yum -y install pcre-devel zlib-devel gcc gcc-c++ make然后创建nginx的相关程序用户(没有家目录和无法登陆)```html/xmluseradd -M -s /sbin/nologin nginx
进入nginx安装包内部,执行编译安装```html/xmlcd nginx-1.12.2/./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module
  完成后执行编译并安装 ```html/xml make && make install make #执行编译安装 选项:make -j 8 #执行后台8核心编译(数字取决你的设备配置)完成编译安装后我们制作软连接(优化路径)```html/xmlln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
 接着我们呢来添加nginx的系统配置 ```html/xml vim /lib/systemd/system/nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target完成保存退出,赋权后,设置开启启动并启动nginx```html/xmlchmod 754 /lib/systemd/system/nginx.servicesystemctl start nginx.servicesystemctl enable nginx.service
 ### 下面安装Mysql (mysql-boost-5.7.20.tar.gz 压缩包) 首先是准备yum安装环境需求包 ```html/xml yum -y install \ ncurses \ ncurses-devel \ bison \ cmake下面创建mysql的程序用户```html/xmluseradd -M -s /sbin/nologin mysql
 下面用winscp传mysql的依赖集合包boost,然后去opt目录解压mysql的依赖集合包boost ```html/xml tar zxvf mysql-boost-5.7.20.tar.gz进去mysql的解压目录里,执行软件的配置安装```html/xmlcd /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
 完成后我使用8核心编译安装  修改mysql 配置文件 ```html/xml 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-server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket=/usr/local/mysql/mysql.sock bind-address = 0.0.0.0 skip-name-resolve max_connections=2048 default-storage-engine=INNODB max_allowed_packet=16M server-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更改mysql安装目录和配置文件的属主属组```html/xmlchown -R mysql:mysql /usr/local/mysql/chown mysql:mysql /etc/my.cnf
 设置路径环境变量,并使用source立即生效 ```html/xml echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib">> /etc/profile source /etc/profile下面是初始化数据库```html/xmlcd /usr/local/mysql/bin/
./mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/data
 添加mysql系统服务 ```html/xml cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl start mysqld.service systemctl enable mysqld修改mysql 的登录密码 ```html/xmlmysqladmin -u root -p password "abc123" #mysql管理员密码改成abc123mysql -u root -p #授权远程等六
  ### 安装PHP (php-7.1.10.tar.bz2 压缩包) 安装环境依赖包 ```html/xml 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用winscp将压缩包传到opt,解压后进入压缩包,执行软件的编译安装```html/xmlcd /opttar jxvf php-7.1.10.tar.bz2cd php-7.1.10
./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
  完成软件配置后,执行编译安装(8核心)  制作软连接-路径优化 ```html/xml ln -s /usr/local/php/bin/* /usr/local/bin/ ln -s /usr/local/php/sbin/* /usr/local/sbin/下面调整PHP配置文件
```html/xmlphp有三个配置文件: php.ini 主配置文件 php-fpm.conf 进程服务配置文件 www.conf 扩展配置文件
首先调整主配置文件 ```html/xml cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini vim /usr/local/php/lib/php.ini939行1170行
下面是调整进程服务配置文件```html/xmlcd /usr/local/php/etc/cp php-fpm.conf.default php-fpm.confvim php-fpm.conf
17行  最后调整扩展配置文件: ```html/xml cd /usr/local/php/etc/php-fpm.d/ cp www.conf.default www.conf启动php-fpm,并查看相关端口```html/xml/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ininetstat -anpt | grep 9000cd /opt/php-7.1.10/sapi/fpmcp php-fpm.service /usr/lib/systemd/system/php-fpm.servicesystemctl restart php-fpm.service
  配置 Nginx 支持 PHP 解析 vim /usr/local/nginx/conf/nginx.conf 65行,取消注释  ```html/xml systemctl restart nginx.service #重启服务创建验证网页vim /usr/local/nginx/html/index.php(里面的内容)```html/xml<?phpphpinfo();?>
替换原来的测试页内容```html/xmlvim /usr/local/nginx/html/index.php
<?php$link=mysqli_connect('192.168.80.10','bbsuser','admin123');if($link) echo "Success!!";else echo "Fail!!";?>
  验证:再次登录 http://192.168.206.5/index.php  ### 部署 Discuz 论坛 首先是winscp传文件去opt目录,解压后进入,替换网站缓存 ```html/xml cd /opt unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis cd /opt/dis/dir_SC_UTF8/ cp -r upload/ /usr/local/nginx/html/bbs/下面是调整论坛的文件权限(用于按装条件)
```html/xmlcd /usr/local/nginx/html/bbs/
chown -R root:nginx ./config/chown -R root:nginx ./data/chown -R root:nginx ./uc_client/chown -R root:nginx ./uc_server/
chmod -R 777 ./config/chmod -R 777 ./data/chmod -R 777 ./uc_client/chmod -R 777 ./uc_server/
 论坛页面访问 http://192.168.19.20/bbs/install/index.php #填写数据库信息 数据库服务器:localhost ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号 数据库名字:bbs 数据库用户名:bbsuser 数据库密码:123456 管理员账号:admin 管理员密码:admin123 #结束 论坛内部页面 http://192.168.19.20/bbs/index.php 论坛后台管理员页面 http://192.168.19.20/bbs/admin.php    完成后即可。访问论坛页面: ```html/xml http://192.168.206.5/bbs/index.php #网页 http://192.168.206.5/bbs/admin.php #后台管理界面拓展实验 fpm参数优化
1、首先是进入进程置文件vim /usr/local/php/etc/php-fpm.conf 17行取消注释
2、然后进入扩展配置文件vim /usr/local/php/etc/php-fpm.d/www.conf117行
122行
96行
107行112行
3、重启phpfpm。并查看相关端口是否开启``html/xml<br/>kill -USR2cat /usr/local/php/var/run/php-fpm.pid` #重启php-fpm netstat -anpt | grep 9000
ps -elf | grep php-fpm #去进程管理器也可以查看fpm的三个进程是否完成
