lnmp環境的安裝

科普一下yum安裝跟二進制源碼安裝的區別:javascript

 

yum安裝,就是別人編譯好的二進制包給你,同時爲你解決依賴關係,簡單方便,便於升級維護。
缺點是對於少見的、古老的linux發行版,很難找到合適的yum-rpm包。php

編譯安裝,就是使用源代碼,根據機器自身的硬件、內核、環境進行編譯,生成二進制文件,優勢是無論什麼機器,只要有完整的編譯環境(基本上全部的Linux發行版都有本身的一套完整的編譯環境),就能夠生成適合本身機器的二進制包,同時由於是針對本機軟硬件環境編譯的,生成的二進制程序運行起來理論上性能更好,更節省資源。缺點是對新手來講編譯過程比較麻煩(固然若是你熟悉了其實也很快),同時升級比較麻煩(固然有些程序編譯安裝過程會本身解決升級衝突和覆蓋)css

對之後工做的影響:yum安裝後程序運行的性能可能會比編譯安裝差一點點,或者它自帶的nginx的模塊會比較少,可是沒有太大的缺點。編譯安裝可能未來你要升級版本會比較麻煩,可是若是你熟悉了Linux安裝環境,未來本身添加模塊會比較方便。html

結論:對新手來講,能yum安裝就yum安裝,沒必要考慮編譯安裝,除非你的系統是少見的、古老的Linux發行版。

 

1、lamp的介紹java

1.什麼是lamp  lamp=linux+apache+mysql+phpnode

2.爲何選擇lamp   lamp涵蓋了web程序的全部開發流程。開源 免費,應用很廣。mysql

2、lamp的安裝以及配置linux

1.安裝linuxnginx

  ①下載centos7鏡像,可選擇everything iso。web

  ②安裝虛擬機:下載oracle vitural box ,配置虛擬機,新建->選擇①中的鏡像文件和版本。

  可選:安裝xshell。ssh遠程登陸主機。執行命令

  ③安裝linux系統,建立用戶。配置linux網絡環境,ip,防火牆等

 2.安裝php

   ①打開php.net,複製下載連接,而且在linux中 粘貼連接,用wget命令下載,須要先sudo yum install wget。

   ②下載php的依賴文件。

   ③make編譯安裝。

   ④vim test.php -> phpinfo();執行看php是否成功配置

三、安裝MariaDB

安裝命令

yum -y install mariadb mariadb-server

安裝完成MariaDB,首先啓動MariaDB

systemctl start mariadb

設置開機啓動

systemctl enable mariadb

接下來進行MariaDB的相關簡單配置

mysql_secure_installation

首先是設置密碼,會提示先輸入密碼

Enter current password for root (enter for none):<–初次運行直接回車

設置密碼

Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
New password: <– 設置root用戶的密碼
Re-enter new password: <– 再輸入一次你設置的密碼

其餘配置

Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車

Disallow root login remotely? [Y/n] <–是否禁止root遠程登陸,回車,

Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車

Reload privilege tables now? [Y/n] <– 是否從新加載權限表,回車

初始化MariaDB完成,接下來測試登陸

mysql -uroot -ppassword

完成。

 

二、配置MariaDB的字符集

文件/etc/my.cnf

vi /etc/my.cnf

在[mysqld]標籤下添加

init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake

文件/etc/my.cnf.d/client.cnf

vi /etc/my.cnf.d/client.cnf

在[client]中添加

default-character-set=utf8

文件/etc/my.cnf.d/mysql-clients.cnf

vi /etc/my.cnf.d/mysql-clients.cnf

在[mysql]中添加

default-character-set=utf8

 所有配置完成,重啓mariadb

systemctl restart mariadb

以後進入MariaDB查看字符集

mysql> show variables like "%character%";show variables like "%collation%";

顯示爲


+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client    | utf8                      |
| character_set_connection | utf8                      |
| character_set_database  | utf8                      |
| character_set_filesystem | binary                    |
| character_set_results    | utf8                      |
| character_set_server    | utf8                      |
| character_set_system    | utf8                      |
| character_sets_dir      | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

+----------------------+-----------------+
| Variable_name        | Value          |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database  | utf8_unicode_ci |
| collation_server    | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)

字符集配置完成。

 

三、添加用戶,設置權限

建立用戶命令

mysql>create user username@localhost identified by 'password';

直接建立用戶並受權的命令

mysql>grant all on *.* to username@localhost indentified by 'password';

授予外網登錄權限 

mysql>grant all privileges on *.* to username@'%' identified by 'password';

授予權限而且能夠受權

mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;

簡單的用戶和權限配置基本就這樣了。

其中只授予部分權限把 其中 all privileges或者all改成select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。

 DBMS登陸數據庫 :這裏以hedisql爲例。

 

 四、安裝nginx

第一步 - 添加Nginx存儲庫

 

要添加CentOS 7 EPEL倉庫,請打開終端並使用如下命令:

sudo yum install epel-release

第二步 - 安裝Nginx

如今Nginx存儲庫已經安裝在您的服務器上,使用如下yum命令安裝Nginx :

sudo yum install nginx

在對提示回答yes後,Nginx將在服務器上完成安裝。

第三步 - 啓動Nginx

Nginx不會自行啓動。要運行Nginx,請輸入:



sudo systemctl start nginx

設置開機啓動 
systemctl enable nginx

 


查看nginx 啓動狀態
systemctl status nginx


查看是否監聽


 ss -tnl | grep 80 
LISTEN    0      128          *:80                      *:*                  
LISTEN    0      128        :::80                      :::* 


測試 nginx


在瀏覽器中輸入 nginx 服務器的ip 地址 
備註:若是不能正常訪問,關閉防火牆
systemctl stop firewalld.service #中止firewall
systemctl disable firewalld.service #禁止firewall開機啓動
firewall-cmd --state #查看默認防火牆狀態(關閉後顯示notrunning,開啓後顯示running)

 nginx的配置:

配置文件路徑  /etc/nginx/nginx.conf

#運行用戶
user nginx;
#啓動進程,一般設置成和 cpu 的數量相等
worker_processes 1;
#全局錯誤日誌及 PID 文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#工做模式及鏈接數上限
events {
#epoll 是多路複用 IO(I/O Multiplexing)中的一種方式,
#僅用於 linux2.6 以上內核,能夠大大提升 nginx 的性能
use epoll;
#單個後臺 worker process 進程的最大併發連接數
worker_connections 1024;
# 併發總數是 worker_processes 和 worker_connections 的乘積
# 即 max_clients = worker_processes * worker_connections
# 在設置了反向代理的狀況下, max_clients = worker_processes * worker_connections / 4

爲何
# 爲何上面反向代理要除以 4,應該說是一個經驗值
# 根據以上條件,正常狀況下的 Nginx Server 能夠應付的最大鏈接數爲: 4 * 8000 = 32000
# worker_connections 值的設置跟物理內存大小有關
# 由於併發受 IO 約束, max_clients 的值須小於系統能夠打開的最大文件數
# 而系統能夠打開的最大文件數和內存大小成正比,通常 1GB 內存的機器上能夠打開的文件數大約是
10 萬左右
# 咱們來看看 360M 內存的 VPS 能夠打開的文件句柄數是多少:
# $ cat /proc/sys/fs/file-max
# 輸出 34336
# 32000 < 34336,即併發鏈接總數小於系統能夠打開的文件句柄總數,這樣就在操做系統能夠承受
的範圍以內
# 因此, worker_connections 的值需根據 worker_processes 進程數目和系統能夠打開的最大文
件總數進行適當地進行設置
# 使得併發總數小於操做系統能夠打開的最大文件數目
# 其實質也就是根據主機的物理 CPU 和內存進行配置
# 固然,理論上的併發總數可能會和實際有所誤差,由於主機還有其餘的工做進程須要消耗系統資源。
# ulimit -SHn 65535
}
http {
#設定 mime 類型,類型由 mime.type 文件定義
include mime.types;
default_type application/octet-stream;
#設定日誌格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
#sendfile 指令指定 nginx 是否調用 sendfile 函數( zero copy 方式)來輸出文件,
#對於普通應用,必須設爲 on,
#若是用來進行下載等應用磁盤 IO 重負載應用,可設置爲 off,
#以平衡磁盤與網絡 I/O 處理速度,下降系統的 uptime.
sendfile on;
#tcp_nopush on;
#鏈接超時時間
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;

#開啓 gzip 壓縮
gzip on;
gzip_disable "MSIE [1-6].";
#nginx 傳輸文件大小,默認爲1M

client_max_body_size 20m;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;

#設定請求緩衝
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;

#設定虛擬主機配置
server {
#偵聽 80 端口
listen 80;
#定義使用 www.linuxidc.com 訪問
server_name www.linuxidc.com;
#定義服務器的默認網站根目錄位置
root html;
#設定本虛擬主機的訪問日誌
access_log logs/nginx.access.log main;
#默認請求
location / {
#定義首頁索引文件的名稱
index index.php index.html index.htm;
}
# 定義錯誤提示頁面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
} #
靜態文件, nginx 本身處理
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
#過時 30 天,靜態文件不怎麼更新,過時能夠設大一點,
#若是頻繁更新,則能夠設置得小一點。
expires 30d;
}
#PHP 腳本請求所有轉發到 FastCGI 處理. 使用 FastCGI 默認配置.

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
} #
禁止訪問 .htxxx 文件
location ~ /.ht {
deny all;
}
}
}

配置php :須要配置的文件以下 

php-fpm/php-fpm.conf  

php-fpm.d/www.conf 

/usr/local/php/sbin/php.ini 

相關連接:http://blog.csdn.net/chengxuyuanyonghu/article/details/51320871

相關連接:http://blog.csdn.net/eastlhu/article/details/51475846

配置nginx:

/etc/nginx/nginx.conf   相關連接

安裝中須要用到的一些工具:

虛擬機:oracle virtual box  、warm ware ....

linux ssh命令: xshell

linux文件圖形管理工具:winSCP

 

 做者寄語:以上就是lnmp安裝的全過程,部分轉載自別的博客(我也忘記是哪些了,若有侵權,請聯繫我刪除)。由於本身也是個新手,因此也是在別人指導下安裝的,前面php是編輯安裝的,全部安裝過程都已經通過本身測試運行,中間有出現不少問題,好比:開始安裝mysql的時候用的是編譯安裝,由於不熟悉,安裝依賴的時候出現一堆Bug。沒法解決,只能用yum install mysql的方式安裝了mysql的分支數據庫 mariaDB。安裝時提示空間不夠(在這裏請容許我作一個悲傷的表情),只能刪除mysql的文件夾,一會兒空出2G多的位置。後面用yum,安裝一切順利,最終得到圓滿成功。因此若是是新手安裝的話,推薦你們仍是用yum包安裝。省時省力還很方便。好了,不說了,我要去熟悉一下linux系統啦。

相關文章
相關標籤/搜索