LNMP環境配置和安裝;軟件的部署和Navicat的連接;

LNMP環境搭建

image-20200527105901980

  • 服務器–Linux系統
  • Web服務–Nginx
  • 編代碼軟件–Java/php軟件
  • 數據庫–MySQL/Oracle

LNMP

  • L: Lniux
  • N: Niginx
  • M: MySQL
  • P: PHP

Linux 目錄結構

在這裏插入圖片描述

/bin:bin是Binary的縮寫, 這個目錄存放着最經常使用的命令。

/boot: 這裏存放的是啓動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件。

/dev : dev是Device(設備)的縮寫, 存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問文件的方式是相同的。

/etc: 這個目錄用來存放所有的系統管理所需要的配置文件和子目錄。

/home:用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的。

/lib:這個目錄裏存放着系統最基本的動態連接共享庫,其作用類似於Windows裏的DLL文件。

/lost+found:這個目錄一般情況下是空的,當系統非法關機後,這裏就存放了一些文件。

/media:linux系統會自動識別一些設備,例如U盤、光驅等等,當識別後,linux會把識別的設備掛載到這個目錄下。

/mnt:系統提供該目錄是爲了讓用戶臨時掛載別的文件系統的,我們可以將光驅掛載在/mnt/上,然後進入該目錄就可以查看光驅裏的內容了。

/opt:這是給主機額外安裝軟件所擺放的目錄。比如你安裝一個ORACLE數據庫則就可以放到這個目錄下。默認是空的。

/proc:這個目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統信息。

/root:該目錄爲系統管理員,也稱作超級權限者的用戶主目錄。

/sbin:s就是Super User的意思,這裏存放的是系統管理員使用的系統管理程序。

/srv:該目錄存放一些服務啓動之後需要提取的數據。

/sys:這是linux2.6內核的一個很大的變化。該目錄下安裝了2.6內核中新出現的一個文件系統 sysfs 。

/tmp:這個目錄是用來存放一些臨時文件的。

/usr:這是一個非常重要的目錄,用戶的很多應用程序和文件都放在這個目錄下,類似於windows下的program files目錄。

/usr/bin: 系統用戶使用的應用程序。

/usr/sbin: 超級用戶使用的比較高級的管理程序和系統守護程序。

/usr/src: 內核源代碼默認的放置目錄。

/var:這個目錄中存放着在不斷擴充着的東西,我們習慣將那些經常被修改的目錄放在這個目錄下。包括各種日誌文件。

/run:是一個臨時文件系統,存儲系統啓動以來的信息。當系統重啓時,這個目錄下的文件應該被刪掉或清除。

/www :存放服務器網站相關的資源,環境,網站的項目

LNMP 之 N:Nginx

Nginx是一款輕量級的Web服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,其特點是佔有內存少,併發能力強。

使用root用戶進行所有的操作

基本環境配置

因爲安裝的軟件比較多,需要創建服務和軟件的專用目錄

#創建基本軟件目錄 soft來存放軟件壓縮包 server是統一安裝目錄
mkdir /data/{server,soft} -p

下載nginx壓縮包

下載地址:https://nginx.org/download/

此次下載的 nginx-1.10.2.tar.gz 版本。

安裝Nginx

注意:編譯安裝nginx的時候,應該有一個專用的啓動用戶,我們把這個用戶設置爲www

#創建專用用戶www  
useradd www -s /sbin/nologin -M
#解壓文件  解壓到當前目錄
tar xzf nginx-1.10.2.tar.gz 

cd nginx-1.10.2

#接下來是 編譯安裝
#將nginx安裝到 /data/server 目錄下
./configure --prefix=/data/server/nginx
make
make install

image-20200527113820775

修改配置文件

在 Nginx安裝目錄下找到 conf/nginx.conf文件,修改第一行的user 爲www:

vim /data/server/nginx/conf/nginx.conf

檢查效果

啓動nginx

/data/server/nginx/sbin/nginx

檢查端口

[root@CentOS7-First ~]# netstat -tnulp
#用於檢查所有的開放的服務端口
#在所有的端口中檢查nginx端口 爲80
[root@CentOS7-First nginx]# netstat -tnulp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      26625/nginx: master 

瀏覽器訪問

直接在地址欄輸入 服務器的公網ip進項訪問,如果出現如下界面就說明nginx安裝成功並可以訪問:
在這裏插入圖片描述
Nginx操作

  • 檢查nginx

    /data/server/nginx/sbin/nginx -t
    
  • 啓動nginx

    /data/server/nginx/sbin/nginx
    
  • 關閉nginx

    /data/server/nginx/sbin/nginx -s stop
    
  • 重啓nginx

    /data/server/nginx/sbin/nginx -s reload
    
  • 啓動後檢查

    netstat -tnulp | grep nginx
    

軟件安裝總結

  • 解壓tar 作用:解壓文件,獲取真正的配置文件
  • 配置configure 作用:根據默認的配置項或者更改配置項,生成編譯配置文件(Makefile)
  • 編譯 make 作用:根據Makefile內容,編譯生成指定的軟件所需要的所有文件
  • 安裝 make install 作用:將編譯生成的所有文件,轉移到軟件指定安裝的目錄下面
  • 啓動nginx /data/ server/nginx/ sbin/nginx
  • 啓動後檢查 netstat -tnulp | grep nginx

LNMP之M:MySQL

下載地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

安裝教程:https://www.cnblogs.com/yy3b2007com/p/10497787.html

此次數據庫是在寶塔面板上進行安裝的,安裝的版本是:Mysql 5.7.29

創建一個MySQl的專用用戶

useradd -s /sbin/nologin -M mysql

解壓軟件

cd /data/soft

#-C 是將文件解壓到指定目錄  不是解壓到當前目錄
tar xzf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz -C /data/server/

cd /data/server/

#創建一個軟鏈接(快捷方式)  針對一個目錄只能創建軟鏈接
ln -s mysql-5.6.35-linux-glibc2.5-x86_64 mysql

初始化mysql數據庫

#配置了mysql安裝的地方 配置了mysql的數據庫文件放在哪 
ql_install_db --basedir=/data/server/mysql --datadir=/data/server/mysql/data --user=mysql

數據庫配置文件管理

#做個備份
mv /etc/my.cnf /etc/my.cnf-bak

cp /data/server/mysql/support-files/my-default.cnf /etc/my.cnf

數據庫啓動命令配置

cp /data/server/mysql/support-files/mysql.server /etc/init.d/mysqld

修改啓動文件

#牛逼的sed  
#將test.txt文件中所有的hello字符全部改爲world 語法如下:
sed -i 's#hello#world#g' test.txt

sed -i 's#/usr/local/mysql#/data/server/mysql#g' /data/server/mysql/bin/mysqld_safe /etc/init.d/mysqld

數據庫文件權限設置

chown -R mysql.mysql /data/server/mysql/
chkconfig --add mysqld

chkconfig mysqld on

MySQL服務端操作

  • 啓動數據庫

    service mysqld start
    
  • 停止數據庫

    service mysqld stop
    
  • 檢測是否啓動

    [root@CentOS7-First ~]# netstat -tnulp | grep mysql
    tcp6       0      0 :::3306                 :::*                    LISTEN      29147/mysqld   
    

    MySQL的端口爲3306

    MySQL客戶端操作

  • 配置環境變量

    gedit /etc/profile
    
  • 末尾添加這條配置

    PATH=/.data/server/mysql/bin:$PATH
    
  • 讓配置文件生效

    source /etc/profile
    
  • 連接mysql服務器:剛剛安裝後默認沒有密碼 不需要 -p

    /data/server/mysql/bin/mysql -uroot -p密碼
    

LNMP之P:PHP

PHP 下載地址:https://www.php.net/downloads.php

PHP需要依賴環境libiconv:https://www.gnu.org/software/libiconv/

此次PHP版本是:php5.3.29.tar.gz 依賴環境版本是:libiconv-1.16.tra.gz

PHP安裝

安裝依賴軟件:libiconv

cd /data/soft

tar zxf libiconv-1.16.tar.gz

cd libiconv-1.16

./configure --prefix=/usr/local/libiconv

make

make install

解壓php

cd /data/soft/

tar xzf php-5.3.29.tar.gz 

cd php-5.3.29

配置

ln -s /data/server/mysql/lib/libmysqlclient.so.18 /usr/lib64/

#該配置是php-5.3.29的配置
touch ext/phar/phar.phar

./configure \
--prefix=/data/server/5.3.29 \
--with-mysql=/data/server/mysql \
--with-pdo-mysql=mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-static \
--with-xsl \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp

PHP文件配置

創建一個軟鏈接,方便使用

cd /data/server
ln -s php-5.3.29 php

修改php.ini文件,開啓session功能

cp /data/soft/php-5.3.29/php.ini-production /data/server/php/lib/php.ini

gedit /data/server/php/lib/php.ini

找到下面內容

#;是註釋的意思
;session.save_parh="/tmp"

改爲如下內容:

session.save_path="/tmp"

複製php-fpm的配置文件,默認沒有該文件但是有一個備份文件

cp /data/server/php/etc/php-fpm.conf.default /data/server/php/etc/php-fpm.conf

PHP簡單操作

  • 啓動php

    /data/server/php/sbin/php-fpm
    
  • 關閉php

    #php沒有關閉文件 只能強制通過殺死php進程關閉
    pkill php-fpm
    
  • 檢查php啓動狀態

    netstat -tnulp | grep php
    

nginx整合PHP

修改nginx配置文件

#先備份
cp /data/server/nginx/conf/nginx.conf /data/server/nginx/conf/nginx.conf-bak

gedit /data/server/nginx/conf/nginx.conf

把server內容替換爲下面內容:

#這個代碼的意思是  黨訪問9000端口(PHP端口)的時候  用nginx來處理
server {
	listen	80;
	server_ name localhost;
	#靜態請求處理的location
	location / {
		root	html;
		index index.php index.html index.htm;
	}
	#動態請求處理的location
	location ~* .*\.(php| php5)?$ {
		root html;
		fastcgi_ pass 127.0.0.1: 9000;
		fastcgi_ index index.php;
		include fastcgi.conf;
	}
}

檢查並重啓nginx服務

/data/server/nginx/sbin/nginx -t

/data/server/nginx/sbin/nginx -s reload

編寫php簡單程序

#將內容輸出 並重定向寫入到指定文件夾
#只要是寫的網頁界面都放在nginx的html文件裏面
echo "<?/php  server'<p>Hello World</p>'; echo?>" > /data/server/nginx/html/test.php

瀏覽器輸入localhost/test.php 查看效果。

部署禪道軟件

解壓代碼

cd /data/soft

unzip ZenTaoPMS.8.2.5.zip

把代碼移到Nginx的html目錄中

mv ....

修改權限

chown -R www.www /data/server/nginx/html/chandao

瀏覽器訪問localhost/chandao/www

【注】輸入多了一個www是因爲禪道的網頁放在了html/chandao/www目錄下,不是直接放在html/chandao下面

Linux安裝Navicat

解決只能使用14天的限制:

cd /admin/home

ls -all

#找到隱藏文件夾.navicat64 然後刪除

rm -rf .navicat64/

#然後可以又用14天。。。

Navicat交叉連接

  • Linux中的Navicat連接Windows 中的Navicat

    • 簡單 輸入ip、端口、用戶名、密碼
  • Windows中的Navicat連接Linux中的Navicat

    • 設置mysql支持遠程連接

      • #修改mysql數據庫裏面的user表 將root用戶變成任何人都可以連接
        update user set host='%'
        
    • 然後刷新

      • flush privileges
        
    • 輸入ip、端口、用戶名、密碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章