當(dāng)前位置:
首頁 >
LNMP构架概述及相关服务的搭建(附带搭建论坛实验)
發(fā)布時(shí)間:2024/2/28
41
豆豆
生活随笔
收集整理的這篇文章主要介紹了
LNMP构架概述及相关服务的搭建(附带搭建论坛实验)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
LNMP構(gòu)架概述及相關(guān)服務(wù)的搭建
- 一、手工編譯 nginx 服務(wù)
- 1、關(guān)閉防火墻和安全機(jī)制
- 2、導(dǎo)入安裝包并進(jìn)行解壓
- 3、安裝環(huán)境依賴包并創(chuàng)建程序用戶
- 4、編譯安裝 nginx
- 5、啟動(dòng)、停止 nginx 服務(wù)
- 6、添加 Nginx 系統(tǒng)服務(wù)
- 二、手工編譯 mysql 數(shù)據(jù)庫(一鍵部署腳本內(nèi)容)
- 三、手工編譯安裝PHP
- 1、導(dǎo)入安裝包并進(jìn)行解壓
- 2、安裝環(huán)境依賴包
- 3、編譯安裝
- 4、配置 php.ini 文件
- 5、配置 php-fpm.conf 文件
- 6、配置 www.conf 文件
- 7、啟動(dòng) php-fpm
- 8、配置 nginx 支持 PHP 解析
- 9、測試訪問頁
- 10、驗(yàn)證數(shù)據(jù)庫工作是否正常
- 四、部署 Discuz ! 社區(qū)論壇 web 應(yīng)用
- 1、解壓安裝包并給予權(quán)限
- 2、瀏覽器進(jìn)行訪問
一、手工編譯 nginx 服務(wù)
1、關(guān)閉防火墻和安全機(jī)制
2、導(dǎo)入安裝包并進(jìn)行解壓
3、安裝環(huán)境依賴包并創(chuàng)建程序用戶
yum -y install pcre-devel zlib-devel gcc gcc-c++ makeuseradd -M -s /sbin/nologin nginx4、編譯安裝 nginx
cd nginx-1.12.0/ ./configure \ --prefix=/usr/local/nginx \ #指定nginx的安裝路徑 --user=nginx \ #指定用戶名 --group=nginx \ #指定組名 --with-http_stub_status_module #啟用 http_stub_status_module 模塊以支持狀態(tài)統(tǒng)計(jì)make && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #讓系統(tǒng)識別nginx的操作命令5、啟動(dòng)、停止 nginx 服務(wù)
nginx -t #檢查配置文件是否配置正確 nginx #啟動(dòng) cat /usr/local/nginx/logs/nginx.pid #先查看nginx的PID號 kill -3 <PID號> kill -s QUIT <PID號> #停止 killall -3 nginx killall -s QUIT nginx6、添加 Nginx 系統(tǒng)服務(wù)
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 ExecrReload=/bin/kill -s HUP $MAINPID ExecrStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.targetchmod 754 /lib/systemd/system/nginx.service systemctl start nginx.service systemctl enable nginx.service
二、手工編譯 mysql 數(shù)據(jù)庫(一鍵部署腳本內(nèi)容)
#--------編譯安裝mysql 服務(wù)-------- #mysql-5.7.17.tar.gz #boost_1_59_0.tar.gz echo "進(jìn)行安裝mysql服務(wù)" mount /dev/sr0 /mnt yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake#配置軟件模塊 cd /opt tar zxvf mysql-5.7.17.tar.gz tar zxvf boost_1_59_0.tar.gz cd /opt mv boost_1_59_0 /usr/local/boostcd /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_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=/usr/local/boost \ -DWITH_SYSTEMD=1make make installuseradd -M -s /sbin/nologin mysqlecho '[client] port = 3306 socket=/usr/local/mysql/mysql.sock[mysqld] user = mysql basedir=/usr/local/mysqldatadir=/usr/local/mysql/dataport = 3306 character-set-server=utf8 pid-file = /usr/local/mysql/mysqld.pidsocket=/usr/local/mysql/mysql.sockbind-address = 0.0.0.0skip-name-resolve max_connections=2048default-storage-engine=INNODB max_allowed_packet=16M server-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.cnfchown -R mysql:mysql /usr/local/mysql/ chown mysql:mysql /etc/my.cnfPATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATHcd /usr/local/mysql/bin/ ./mysqld \ --initialize-insecure \ --user=mysql \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data#添加mysqld系統(tǒng)服務(wù)cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用于systemctl服務(wù)管理 source /etc/profile systemctl daemon-reload #刷新識別 systemctl start mysqld.service #開啟服務(wù) systemctl enable mysqld #開機(jī)自啟動(dòng) netstat -anpt | grep 3306 #查看端口yum -y install expectfunction abc { passwd=$1 /usr/bin/expect <<-EOF spawn mysqladmin -u root -p password $passwd expect "Enter password:" send "\r"expect eof EOF } abc "010230"function bcd { /usr/bin/expect <<-EOF spawn mysql -u root -p expect "Enter password:" {send "010230\r"} expect "mysql>" {send "grant all privileges on *.* to 'root'@'%' identified by '010230';\r"} expect "mysql>" {send "show databases;\r"} expect "mysql>" {send "quit\r"} expect eof EOF } bcd echo -e "\033[31m mysql安裝完成!\033[0m"三、手工編譯安裝PHP
1、導(dǎo)入安裝包并進(jìn)行解壓
2、安裝環(huán)境依賴包
yum -y install \ gd \ libjpeg libjpeg-devel \ libpng libpng-devel \ freetype freetype-devel \ libxml2 libxml2-devel \ zlib zlib-devel \ curl curl-devel \ openssl openssl-devel3、編譯安裝
cd /opt/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-zipmake && make installln -s /usr/local/php/bin/* /usr/local/bin/4、配置 php.ini 文件
cp /opt/php-7.1.10/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.sockphp -m
5、配置 php-fpm.conf 文件
cd /usr/local/php/etc/ cp php-fpm.conf.default php-fpm.conf vim php-fpm.conf #17行;去掉注釋符“;” pid = run/php-fpm.pid6、配置 www.conf 文件
cd /usr/local/php/etc/php-fpm.d/ cp www.conf.default www.conf7、啟動(dòng) php-fpm
#PHP-FPM(FastCGI Process Manager:FastCGI進(jìn)程管理器),是一個(gè)PHPFastCGI管理器,由于Nginx服務(wù)器不能處理動(dòng)態(tài)頁面,需要把Nginx把動(dòng)態(tài)請求交給php-fpm進(jìn)程繼續(xù)解析。 /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini netstat -anpt | grep 90008、配置 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;#將/scripts修改成nginx的工作目錄fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;include fastcgi_params;}systemctl restart nginx.service9、測試訪問頁
vim /usr/local/nginx/html/index.php <?php phpinfo(); ?>#使用瀏覽器訪問 http://192.168.163.10/index.php10、驗(yàn)證數(shù)據(jù)庫工作是否正常
mysql -u root -p #創(chuàng)建一個(gè)數(shù)據(jù)庫 CREATE DATABASE bbs; #把bbs數(shù)據(jù)庫里面所有表的權(quán)限授予給bbsuser,并設(shè)置密碼010230 GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY '010230'; #刷新數(shù)據(jù)庫 flush privileges; #查看有哪些數(shù)據(jù)庫 show databases;vim /usr/local/nginx/html/index.php <?php $link=mysqli_connect('192.168.184.70','bbsuser','010230'); if($link) echo "<h1>Congratulations on your success!!</h1>"; else echo "Unfortunately, it failed!"; ?>四、部署 Discuz ! 社區(qū)論壇 web 應(yīng)用
1、解壓安裝包并給予權(quán)限
cd /opt unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis #上傳站點(diǎn)更新包 cd /opt/dis/dir_SC_UTF8/ cp -r upload/ /usr/local/nginx/html/bbscd /usr/local/nginx/html/bbs chmod -R 777 ./config/ chmod -R 777 ./data/ chmod -R 777 ./uc_*
2、瀏覽器進(jìn)行訪問
論壇頁面訪問 http://192.168.184.70/bbs/install/index.php#填寫數(shù)據(jù)庫信息 數(shù)據(jù)庫服務(wù)器:localhost ###本地架設(shè)就用localhost,如何不是在在本機(jī)上就要填寫IP地址和端口號 數(shù)據(jù)庫名字:bbs 數(shù)據(jù)庫用戶名:bbsuser 數(shù)據(jù)庫密碼:010230 管理員賬號:lucien 管理員密碼:010230 #結(jié)束#論壇內(nèi)部頁面 http://192.168.184.70/bbs/index.php #論壇后臺(tái)管理員頁面 http://192.168.184.70/bbs/admin.php
總結(jié)
以上是生活随笔為你收集整理的LNMP构架概述及相关服务的搭建(附带搭建论坛实验)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LAMP构架概述及相关服务的搭建(附带搭
- 下一篇: 详解 nginx 配置文件及构建 web