一、安装 Nginx 服务
1、安装依赖包
2、创建运行用户
3、编译安装
4、优化路径
5、添加 Nginx 系统服务
二、安装 MySQL 服务
1、安装Mysql环境依赖包
2、创建运行用户
3、编译安装
4、修改mysql 配置文件
5、更改mysql安装目录和配置文件的属主属组
6、设置路径环境变量
7、初始化数据库
8、添加mysqld系统服务
9、修改mysql 的登录密码
10、授权远程登录
三、安装配置 PHP 解析环境
1、安装环境依赖包
2、编译安装
3、路径优化
4、调整PHP配置文件
5、启动php-fpm
6、配置 Nginx 支持 PHP 解析
7、验证PHP 测试页
8、验证数据库工作是否正常
四、部署 Discuz!社区论坛 Web 应用
systemctl stop firewalld systemctl disable firewalld setenforce 0
例:
1、安装依赖包
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
例:
2、创建运行用户
useradd -M -s /sbin/nologin nginx
例:
3、编译安装
cd /opt tar zxvf nginx-1.12.0.tar.gz -C /opt/ cd nginx-1.12.0/ ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_stub_status_module make -j2 && make install
例:
4、优化路径
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
例:
5、添加 Nginx 系统服务
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 chmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service systemctl enable nginx.service
例:
1、安装Mysql环境依赖包
yum -y install \ ncurses \ ncurses-devel \ bison \ cmake
例:
2、创建运行用户
useradd -M -s /sbin/nologin mysql
例:
3、编译安装
cd /opt tar zxvf mysql-boost-5.7.20.tar.gz 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 && make install
例:
4、修改mysql 配置文件
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_I N_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES
例:
5、更改mysql安装目录和配置文件的属主属组
chown -R mysql:mysql /usr/local/mysql/ chown 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
例:
8、添加mysqld系统服务
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ systemctl daemon-reload systemctl start mysqld.service systemctl enable mysqld
例:
9、修改mysql 的登录密码
mysqladmin -u root -p password "abc123"
例:
10、授权远程登录
mysql -u root -p grant all privileges on *.* to 'root'@'%' identified by 'ZXC123'; #授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限 show databases; #查看当前已有的数据库
例:
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
例:
2、编译安装
cd /opt tar jxvf php-7.1.10.tar.bz2 cd 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 make && make install
例:
3、路径优化
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 扩展配置文件 #调整主配置文件: cp /opt/php-7.1.10/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 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 netstat -anpt | grep 9000 #PHP-FPM(FastCGI Process Manager:FastCGI 进程管理器)是一个 PHPFastCGI 管理器, 由于Nginx服务器不能处理动态页面, 需要由 Nginx 把动态请求交给 php-fpm 进程进行解析。 cd /opt/php-7.1.10/sapi/fpm cp php-fpm.service /usr/lib/systemd/system/php-fpm.service systemctl restart php-fpm.service
例:
6、配置 Nginx 支持 PHP 解析
vim /usr/local/nginx/conf/nginx.conf --65行--取消注释,修改 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的工作目录 include fastcgi_params; } systemctl restart nginx.service
例:
7、验证PHP 测试页
vim /usr/local/nginx/html/index.php <?php phpinfo(); ?> 浏览器访问 http://192.168.30.16/index.php
例:
8、验证数据库工作是否正常
mysql -u root -p CREATE DATABASE bbs; GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123'; flush privileges; show databases; vim /usr/local/nginx/html/index.php #替换原来的测试页内容 <?php $link=mysqli_connect('192.168.80.10','bbsuser','admin123'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; ?> 浏览器访问 http://192.168.30.16/index.php
例:
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/ 调整论坛目录的权限: 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.30.16/bbs/install/index.php ------------------------------------------------------------------------ 数据库服务器:localhost ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号 数据库名字:bbs 数据库用户名:bbsuser 数据库密码:zxc123 管理员账号:admin 管理员密码:zxc123 -------------------------------------------------------------- 访问论坛页面: http://192.168.30.16/bbs/index.php http://192.168.30.16/bbs/admin.php
例: