虛擬機器Linux Centos7搭建web環境(LNMP)
環境
環境配置
- windows7 64位
- vmware workstation 12
- linux CentOS7_x64
準備
Web環境(LNMP)
LNMP 指 Linux + Nginx + Mysql + PHP
LAMP 指 Linux + Apache + Mysql + PHP
本文安裝教程參考的是這篇文章,感謝hcchanqing博主
Linux_CentOS7_x64 安裝包
特別提醒:我用的Centos7,是7!!參考教程用的是centos6.2
安裝之前先配置防火牆,主要能讓windows系統能夠訪問80和資料庫3306埠。
# 注意,下面命令適用於centos7以下,不含centos7
vi /etc/sysconfig/iptables # 編輯防火牆配置檔案
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT # 允許80埠通過防火牆
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT # 允許3306埠通過防火牆
Linux安裝
安裝Nginx
使用yum安裝Nginx
yum install nginx
啟動Nginx服務
service nginx start
沒開成功,出現了下面的一段文字
搜了一下,說版本太新,提示命令已經換了。好,那就輸入下面的命令
/bin/systemctl start nginx.service
# 更簡潔的寫法
systemctl start nginx.service
結果什麼都沒有返回,那怎麼驗證nginx服務是否有開啟?
ps -ef | grep nginx # 有返回的話表示已經開啟了
設定開機自啟
chkconfig nginx on
返回了一串提示,猜測應該是版本太新,命令又換了。
systemctl enable nginx.service
OK,還是什麼都沒有返回,看來linux的尿性應該是成功執行一般不會有東西返回的
systemctl is-enabled nginx.service # 驗證是否開啟,有開啟會顯示enabled
測試訪問
在瀏覽器輸入linux的ip地址,如果出現下面的內容,表示nginx搭建OK了。
centos7設定防火牆埠
然而過程並沒有那麼順利,再得到welcome頁前,我是打不開頁面的
找了下度娘,果不其然,又是和版本有關,centos的防火牆改成了firewall
不再叫iptables
檢視原文
鍵入下面命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 命令含義:
# –zone #作用域
# –add-port=80/tcp #新增埠,格式為:埠/通訊協議
# –permanent #永久生效,沒有此引數重啟後失效
然後重啟防火牆,再訪問一下地址就能看到welcome to nginx
systemctl stop firewalld.service
systemctl start firewalld.service
安裝Mysql
接著再按照教程安裝mysql,顯然只要把其中的舊命令換成新命令就能安裝mysql了。
照著這個思路,結果又踩坑了。。。道路真是坎坷
首先跑了下面的命令
yum install mysql mysql-server
第一次安裝過程很正常,還看到了complete(可能我看了一個假的complete)。
然後接下來的啟動服務、設定開機自啟等操作都是返回not found(差不多這個意思,就是沒找到)
再檢視mysql的相關程序卻是有的,而且which mysql
也有返回目錄
會不會是名字的原因?於是折騰之前操作中mysql服務的名字,比如下面的命令
/bin/systemctl start mysqld.service
/bin/systemctl start mysql-server.service
/bin/systemctl start mysql.service
...
關鍵的命令Mark一下
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm # step 1
rpm -ivh mysql-community-release-el7-5.noarch.rpm # step 2
yum install mysql-server # step 3
啟動Mysql服務
/bin/systemctl start mysqld.service
# 更簡潔的寫法
systemctl start mysqld.service
設定開機自啟
systemctl enable mysqld.service
systemctl is-enabled mysqld.service # 檢測是否已經設定開機自啟
配置
vi /etc/my.cnf
mysql -u root -p // 登入賬號
mysql>use mysql; // 進入mysql資料庫
mysql>update user set password=password('root') where user='root' and host='localhost'; // 設定root的賬號密碼為root
mysql>flush privileges; // 不重啟生效
mysql>grant all privileges on *.* to [email protected]'%' identified by 'password'; // 設定遠端連線賬號
#############################
# 該語法
# grant all privileges on 庫名.表名 to '使用者名稱'@'IP地址' identified by '密碼' with grant option;
#############################
# PS:在mysql命令下,要結束或執行命令一定要讓語句結束加上 ;號
安裝PHP
安裝之前,我嘗試檢視php版本,發現是有的,版本為5.4,所以我決定升級PHP的版本
php --version
首先檢視php的安裝包(我使用的是yum安裝方式)
yum list installed | grep php
看到的都是5.4的安裝包
安裝前移除當前的安裝包,避免之後的安裝衝突
yum remove php*
新增第三方yum源
由於預設的YUM源無法升級PHP,所以需要新增第三方的YUM源,此處用到webtatic
# CentOS 6.5
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
# CentOS 7.x
rpm -Uvh http://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el7/webtatic-release.rpm
使用yum安裝
yum install php71w -y # 基礎
yum install php71w-fpm -y # nginx連線使用
yum install php71w-mbstring -y # 寬位元組
yum install php71w-mysqlnd -y # mysql相關
yum install php71w-pecl-redis -y # redis擴充套件
yum install php71w-mcrypt -y # 加密使用
yum install php71w-opcache -y # 效能加速 php5.5 以上使用
或者
yum install php71w php71w-fpm php71w-mbstring php71w-mysqlnd php71w-pecl-redis php71w-mcrypt php71w-opcache
啟動服務
systemctl start php-fpm.service
設定開機自啟
systemctl enable php-fpm.service
配置
讓Nginx支援PHP
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak # 備份原有配置檔案
vi /etc/nginx/nginx.conf # 編輯這個檔案
user nginx nginx; # 修改nginx執行賬號為:nginx組的nginx使用者
按Esc
輸入:wq
儲存並退出
緊接著
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak # 備份原有配置檔案
vi /etc/nginx/conf.d/default.conf # 編輯
找到location / {
增加index.php
index index.php index.html index.htm;
接著,取消FastCGI server部分location的註釋
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 要注意fastcgi_param行的引數 改為 $document_root$fastcgi_script_name 或者使用絕對路徑
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
如下
特殊情況:
配置成上面的方式,我的php檔案並不能正常訪問,要修改如下
$document_root$fastcgi_script_name
# 替換成絕對路徑
/usr/share/nginx/html$fastcgi_script_name
配置PHP
vi /etc/php.ini
設定中國時區
date.timezone = PRC
允許訪問當前目錄(即PHP指令碼檔案所在之目錄)和/tmp/目錄,可以防止php木馬跨站
open_basedir = .:/tmp/
配置php-fpm
cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak # 備份原來的配置檔案
vi /etc/php-fpm.d/www.conf
# 修改內容如下
user = nginx # 由原來的apache換成nginx
group = nginx # 由原來的apache換成nginx
設定目錄許可權
chown nginx.nginx /usr/share/nginx/html/ -R # 設定目錄所有者
chmod 700 /usr/share/nginx/html/ -R # 設定目錄許可權
重啟服務
systemctl restart nginx.service # 重啟nginx服務
systemctl restart php-fpm.service # 重啟php服務
測試
在/usr/share/nginx/html/
目錄下放置index.php
檔案
在瀏覽器中輸入伺服器的ip,OK訪問沒問題 :)
文章內容親測有效,也是安裝過程,如果文章有內容不正確或者文章內容有誤的地方請指出 :)
End!
相關推薦
虛擬機器Linux Centos7搭建web環境(LNMP)
環境 環境配置 windows7 64位 vmware workstation 12 linux CentOS7_x64 準備 Web環境(LNMP) LNMP 指 Linux + Nginx + Mysql + PHP LAM
虛擬機器安裝Oracle WebCenter Sites 12c (一)搭建安裝環境,安裝虛擬機器
因為工作原因需要我在虛擬機器上安裝 Oracle Webcenter 12C ,百度上找了很多資料,自己第一次研究安裝,安裝過程中有很多麻煩,為了防止自己以後忘記,也能為了幫助別人,特意記錄下來,希望能有所幫助,記得點贊。 安裝 Oracle
VirtualBox 虛擬機器配置centos6.4 spark叢集(1)--- 環境搭建以及所遇問題
一、前言 最近學習spark,就把一些經歷在這裡總結總結。 二、所需軟體 VirtualBox 5.1.22 作業系統 :centos6.4 CentOS-6.4-x86_64-minimal.iso 一共需要3
Centos6.5下搭建web環境(Apache+mysql+php+phpMyAdmin)
apache mysql php phpmyadmin 轉崗以後因為不太熟練一直沒有怎麽管理服務器,為了後續工作能夠順利展開,決定將之前的服務器重新搭建,並把某些需求整合避免以後管理起來會淩亂。首先先把web環境給搭建起來,以下是搭建過程以作後續查證使用。因為機房實在是太冷了╮(╯▽╰)╭,所
linux上搭建PHP環境(php+mysql+apache)
一、獲取安裝包 PHP下載地址:http://cn.php.net/distributions/php-7.1.10.tar.gz Apache下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.28.
在Windows Server 2008 R2下搭建jsp環境(三)-Tomcat的下載安裝
流行 ext 協議 解壓縮 需要 繼續 bsp shutdown 電腦系統 1.百度搜索“Tomcat官網”,點擊有標誌的官網進入,準備下載官方正版Tomcat。 2.進入Tomcat官網之後,在左邊我們看到,Tomcat的有6,7,8這三個最流行的版本,我們可以點
python分布式爬蟲搭建開發環境(二)
back col 性能 16px 動態網頁 網頁 ebs {} 常見類 scrapy 優勢: resquests和Beautifulsoup都是庫,scrapy是框架 scrapy框架可以加入前兩項 scrapy基於twisted,性能是最大的優勢 scrapy方便擴展,
Jenkins自動化搭建測試環境(二)
打開 自己 到你 自動化部署 找到 工具 技術分享 directory 查看 Fork項目 找到項目 單擊Fork 這時,會發送一個郵件到你的git郵箱中,點擊鏈接即可完成fork 這樣,這個工程就已經fork到自己的git上了 然後就可以下載這個工程到本機了 這
java虛擬機器(第二版) 第二章總結 (三)-手工復現java虛擬機器記憶體溢位(OutOfMemoryError異常)
文章概述 的java虛擬機器記憶體溢位的簡要概述,復現堆記憶體,棧記憶體,方法區的執行時常量池記憶體等區域的溢位情況,以及上述區域發生記憶體溢位的判斷方式和解決思路。 1,概述: IDE為eclipse,需要在執
java虛擬機器(第二版) 第二章總結 (二)
本文總結下java虛擬機器的第二章的第三小節 1、(原文2.3)HotSpot虛擬機器物件探祕 文中以HotSpot虛擬機器為例,講述了java物件的建立以及訪問。 當我們寫的new關鍵字被虛擬機器執行時: <
java虛擬機器(第二版) 第二章總結 (一)
本文主要是up主閱讀java虛擬機器(第二版) 第二章總結的總結,因為第一章主要講了java體系的過去和展望,故就暫時總結了,感興趣的可以閱讀原書。 另外推薦看原書,原書對我總結的知識有更細緻的解讀。 眾所周知,java虛擬機器對記憶體的自動管理,讓java程式設計師少了好多手動管理記憶
php手動搭建wamp環境(一)--之 Windows系統下PHP環境搭建
1、PHP環境搭建的前提是 Apache HTTP Server (Apache 伺服器)已經安裝部署成功,並可以正常訪問到伺服器的主頁面。Apache HTTP Server 的安裝部署已經在上一篇講解的很詳細了,不清楚的可以點選“ Apache HTTP Servcer-Apache伺服器下載與
虛擬機器安裝Oracle WebCenter Sites 12c(五)netca 配置監聽
上一篇文章我們寫了dbca 資料庫的建立,這篇文章我們這要繼續講解netca 監聽的配置。 (五)netca 配置監聽 1.oracle 使用者 執行:netca 2.到此我們的監聽就配置完成了,檢視監聽,輸入命令:
虛擬機器安裝Oracle WebCenter Sites 12c(四)dbca 建立資料庫
上一篇文章我們講述了資料庫的安裝,這一片文章我們主要講述資料庫的建立。 (四)資料庫建立 1.oracle 使用者 執行命令:dbca
虛擬機器安裝Oracle WebCenter Sites 12c(三)Oracle Database Enterprise Edition 12c 安裝
上一篇文章我們寫到了如何向虛擬機器中共享本地檔案,這一篇文章我們重要講解的就是如何在虛擬機器中安裝 Oracle Database Enterprise Edition 12c ,如有幫助記得點贊。 安裝檔案: Jdk安裝包 :j
虛擬機器安裝Oracle WebCenter Sites 12c(二)本地檔案與虛擬共享設定
上一篇部落格裡面記載了虛擬機器的安裝教程,以及Oracle Webcenter Sites 12C 安裝步驟區分,下面就讓我一起來設定一下本地檔案與虛擬機器共享,如果有幫助記得轉載+點贊。 (二)本地檔案與虛擬共享設定 1.安裝前環境設定
深入理解java虛擬機器之自動記憶體管理機制(二)
垃圾收集演算法 java中的記憶體是交給虛擬機器管理的。要實現垃圾回收,必須考慮如下三個問題: 1. 哪些記憶體需要回收? 2. 什麼時候回收? 3. 怎麼回收? 對於第一點,往大了來說,是堆和方法區的記憶體需要回收。往具體了來說,是堆中哪些物件的記憶體可以回
深入理解java虛擬機器之自動記憶體管理機制(三)
各類垃圾收集器與GC日誌 (一)垃圾收集器 一、Serial收集器 最基本、歷史最悠久的收集器。使用複製演算法,用在新生代,通常老年代用Serial old配合。GC過程需要stop the world。適用於client模式下的虛擬機器。 二、ParNew收集器
深入理解java虛擬機器之自動記憶體管理機制(四)
記憶體分配與回收策略 (一)記憶體分配策略 給誰分配?分配到哪?是記憶體分配策略必須解答的問題。 java物件是分配的物件,往大方向來說,是分配到堆中,更細一點說,根據物件不同的特點分配到新生代和老年代區域。如果啟動了本地執行緒分配緩衝,就按執行緒優先在TLAB上分配。 一、新
linux部署java web 專案(筆記)
建立資料夾 # mkdir java // 建立資料夾java,mysql,tomcat 個人習慣 我喜歡分開資料夾安裝 # cd java // 開啟新建立的資料夾 JDK