LNMP构架概述及相关服务的搭建(附带搭建论坛实验)
生活随笔
收集整理的這篇文章主要介紹了
LNMP构架概述及相关服务的搭建(附带搭建论坛实验)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LNMP構架概述及相關服務的搭建
- 一、手工編譯 nginx 服務
- 1、關閉防火墻和安全機制
- 2、導入安裝包并進行解壓
- 3、安裝環境依賴包并創建程序用戶
- 4、編譯安裝 nginx
- 5、啟動、停止 nginx 服務
- 6、添加 Nginx 系統服務
- 二、手工編譯 mysql 數據庫(一鍵部署腳本內容)
- 三、手工編譯安裝PHP
- 1、導入安裝包并進行解壓
- 2、安裝環境依賴包
- 3、編譯安裝
- 4、配置 php.ini 文件
- 5、配置 php-fpm.conf 文件
- 6、配置 www.conf 文件
- 7、啟動 php-fpm
- 8、配置 nginx 支持 PHP 解析
- 9、測試訪問頁
- 10、驗證數據庫工作是否正常
- 四、部署 Discuz ! 社區論壇 web 應用
- 1、解壓安裝包并給予權限
- 2、瀏覽器進行訪問
一、手工編譯 nginx 服務
1、關閉防火墻和安全機制
2、導入安裝包并進行解壓
3、安裝環境依賴包并創建程序用戶
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 模塊以支持狀態統計make && make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ #讓系統識別nginx的操作命令5、啟動、停止 nginx 服務
nginx -t #檢查配置文件是否配置正確 nginx #啟動 cat /usr/local/nginx/logs/nginx.pid #先查看nginx的PID號 kill -3 <PID號> kill -s QUIT <PID號> #停止 killall -3 nginx killall -s QUIT nginx6、添加 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 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 數據庫(一鍵部署腳本內容)
#--------編譯安裝mysql 服務-------- #mysql-5.7.17.tar.gz #boost_1_59_0.tar.gz echo "進行安裝mysql服務" 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系統服務cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ #用于systemctl服務管理 source /etc/profile systemctl daemon-reload #刷新識別 systemctl start mysqld.service #開啟服務 systemctl enable mysqld #開機自啟動 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、導入安裝包并進行解壓
2、安裝環境依賴包
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、啟動 php-fpm
#PHP-FPM(FastCGI Process Manager:FastCGI進程管理器),是一個PHPFastCGI管理器,由于Nginx服務器不能處理動態頁面,需要把Nginx把動態請求交給php-fpm進程繼續解析。 /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、驗證數據庫工作是否正常
mysql -u root -p #創建一個數據庫 CREATE DATABASE bbs; #把bbs數據庫里面所有表的權限授予給bbsuser,并設置密碼010230 GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY '010230'; #刷新數據庫 flush privileges; #查看有哪些數據庫 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 ! 社區論壇 web 應用
1、解壓安裝包并給予權限
cd /opt unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis #上傳站點更新包 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、瀏覽器進行訪問
論壇頁面訪問 http://192.168.184.70/bbs/install/index.php#填寫數據庫信息 數據庫服務器:localhost ###本地架設就用localhost,如何不是在在本機上就要填寫IP地址和端口號 數據庫名字:bbs 數據庫用戶名:bbsuser 數據庫密碼:010230 管理員賬號:lucien 管理員密碼:010230 #結束#論壇內部頁面 http://192.168.184.70/bbs/index.php #論壇后臺管理員頁面 http://192.168.184.70/bbs/admin.php
總結
以上是生活随笔為你收集整理的LNMP构架概述及相关服务的搭建(附带搭建论坛实验)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LAMP构架概述及相关服务的搭建(附带搭
- 下一篇: 内存规格:影响电脑速度和稳定性的关键