亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LAMP架構搭建與優化

發布時間:2020-06-09 20:04:39 來源:網絡 閱讀:515 作者:vincenthome 欄目:數據庫

1.1mysql安裝

LAMP是linux apache mysql php的簡寫

MySQL是一個數據庫文件 apache提供http服務 很多網站站點使用php寫

安裝下載MySQL

www.aminglinux.com/study_v2/chapter12.html

下載 r.aminglinux.com/

1.2Apache編輯安裝

路徑和方法

www.aminglinux.com/study_v2/chapter12.html

下載 r.aminglinux.com/

/usr/local/apache2/bin/apachectl start (stop關閉)啟動apache

ps aux |grep httpd 查看是否啟動了

netstat -lnp 查看監聽窗口80

/usr/local/apache2/bin/apachectl -M 查看模塊 static為靜態 shared為動態

- L只列出靜態模塊

- t 查看配置文件語法有沒有錯誤

/usr/local/apache2/bin/apachectl graceful 重新加載配置文件

-L 中的prefock.c 說明apache在prefock模式下進行

prefock worker event3種模式

1.4php編譯安裝-安裝順序在最后

路徑也方法

www.aminglinux.com/study_v2/chapter12.html

下載 r.aminglinux.com/

/usr/local/php/bin/php -m 查看模塊 都是靜態

-i 查看相關配置

測試php解釋

重啟apache (restart)

vim /usr/local/apache2/conf/httpd.conf 查看配置文件

DocumentRoot就是訪問網站時放在的目錄

AddType application/x-gzip.gz.tgz下添加一條

AddType application/x-httpd-php.php

修改 DirectoryIndex index.html  index.php

保存退出

restart (或graceful)apache

可以用ip網站方式或者指令curl測試apache是否結合php搭建LAMP

1.6安裝discuz

Discuz 創建論壇

mkdir /data/www

cd /data/www

wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip

unzip  Discuz_X3.2_SC_GBK.zip

ls

mv upload/* ./ 把upload下的文件都移出來

ls

rm -rf readme/ utility/ upload/Discuz_X3.2_SC_GBK.zip 把多余的幾個文件刪去

ps aux |grep httpd 查看apache啟動否

/usr/local/apache2/bin/apachectl start  開啟

vim /usr/local/apache2/conf/httpd.conf

找到httpd-vhosts.conf,把前面的#刪去,使用了虛擬主機的配置文件

找到Deny,改為Allow

:wq

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

把第二個<VirtualHost *:80>整段刪掉

修改第一個

刪去serveradmin整行

把documentroot 改為“/data/www”

servername 改為www.test.com

serveralias (別名)www.aaa.com

errorlog customlog 錯誤日志與訪問日志 在最前面加#

:wq

/usr/local/apache2/bin/apachectl -t

/usr/local/apache2/bin/apachectl restart

hosts 與ip,域名有關   dns服務

vim/etc/hosts

加一行 192.168.73.10(ip)www.baidu.com

:wq

在主機找到hosts文件

在# ::1 localhost下一行加

192.168.73.10 www.test.com www.aaa.com

保存退出

主機用瀏覽器登錄 www.test.com

點擊同意

將紅叉改為可寫

把它們的屬組root改為daemon

chown -R daemon config data uc_client/data uc_server/data

刷新瀏覽器

下一步

第一項全新安裝

創建數據庫

/usr/local/mysql/bin/mysql

create database discuz; (數據庫名)

grant all on discuz.* to  '111'@'localhost' identified by 'vincentlinux';

回到瀏覽器

庫名 discuz

用戶 111

密碼 vincentlinux

管理員密碼123456

下一步

安裝完成

點此訪問

1.7apache用戶認證

將abc目錄設為只有管理員才能訪問

cd /data/www

mkdir abc

cd abc

cp /etc/passwd  ./12.txt

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

在#CustomLog下一行加

<Directory /data/www/abc/>

AllowOverride AuthConfig

AuthName "aaaa"

AuthType Basic

AuthUserFile /data/.htpasswd

require valid-user

</Directory>

:wq

vim /etc/profile.d/path.sh 修改path

export PATH=$PATH:/usr/local/mysql/bin/:/usr/local/apache2/bin

:wq

source /etc/profile.d/path.sh

設置用戶和密碼

htpasswd -c /data/.htpasswd user1 用戶名user1

密碼

再創一個user2 刪去-c

重啟apache

apachectl graceful

瀏覽器登錄 www.test.com/abc/12.txt 就會要求打用戶名和密碼登錄了

1.8默認虛擬主機

mkdir /tmp/123 創建空目錄

chmod 600 /tmp/123

vim /use/local/apache2/conf/extra/http-vhosts.conf

在<VirtualHost *:80>上添一段

<VirtualHost *:80>

DocumentRoot “/tmp/123”

ServerName 1111.com

<VirtualHost *:80>

這樣禁止了默認的虛擬主機

只能用指定域名www.test.com 和www.aaa.com登錄論壇

1.9域名301域名

使www.aaa.com域名自動跳轉到www.test.com

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

在#CustomLog下一行添加一段

<Ifmodule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.aaa.com$

RewriteRule ^/(.*)$ http://www.test.com/$1 [R=301,L]

</IfModule>

:wq

如果還有另一個域名www.bbb.com需要跳轉到test,則在aaa下一行再添加一條RewriteCond 給bbb,在aaa.com$后幾格加[OR]

2.0 Apache日志切割

訪問日志記錄

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

把ErrorLog和CustomLog前的#去掉 開啟錯誤日志和訪問日志的記錄

CustomLog 后面的common指日志的格式和名字

vim /usr/local /apache2/conf/httpd.conf

搜索 /common

找到兩個LogFormat 就是日志的格式和名稱,最好用combined格式

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

把common改為combined

:wq

apachectl -t

apachectl graceful

外部瀏覽器訪問論壇

cd /usr/local/apache2/logs

ls

生成 access_log和error_log兩個日志

切割日志

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

修改CustomLog的路徑 “|/usr/local/apache2/bin/rotatelogs -l  /usr/local/apache2/logs/+原來的名稱-access_%Y%m%d_log  86400” combined

年月日命名日志  以86400秒即一天為分割一個日志

2.1Apache 不記錄指定文件類型的日志

沒必要記錄論壇的小圖片css等插入件

只需要記錄每頁的地址

先給這些小插件標記

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

在serverAlias下一行添加

  SetEnvIf Request_URI ".*\.gif$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.jpg$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.png$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.bmp$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.swf$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.js$" p_w_picpath-request

   SetEnvIf Request_URI ".*\.css$" p_w_picpath-request

然后在CustomLog 的最后添加 env=!p_w_picpath-request

除了以上p_w_picpath-request標記的都會記錄

:wq

apachectl -t

apachectl restart

外部瀏覽器刷新

ls

less 生成的訪問日志名稱

查看日志不存在以上那些格式的內容

2.2Apache 配置靜態緩存

將網頁中的小圖片小圖標作一個緩存 減少帶寬

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

在CustomLog的下一段添加

<IfModule mod_expires.c>

    ExpiresActive on

    ExpiresByType p_w_picpath/gif "access plus 1 days"

    ExpiresByType p_w_picpath/jpeg "access plus 24 hours"

    ExpiresByType p_w_picpath/png "access plus 24 hours"

    ExpiresByType test/css "now plus 2 hours"

    ExpiresByType application/x-javascript "now plus 2 hours"

    ExpiresByType application/x-shockwave-flash "now plus 2 hours"

    ExpiresDefault "now plus 0 min"

 </IfModule>

:wq

apachectl -t

apachectl graceful

2.3Apache配置防盜鏈

防止自己網站的東西被人盜用

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

 </IfModule> 下一行添加

SetEnvIfNoCase Referer "^http://.*\.test\.com" local_ref

SetEnvIfNoCase Referer ".*\.aminglinux\.com" local_ref

<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|png|gif|js|css)">

    Order Allow,Deny

    Allow from env=local_ref

  </filesmatch>

域名為www.test.com和www.aminglinux.com在白名單上,標記為 local_ref

把(txt|doc|mp3|zip|rar|jpg|png|gif|js|css)這些格式的東西加上防盜鏈

只允許有local_ref標記的地址調用

:wq

apachectl restart

外部瀏覽器測試

2.4Apache訪問控制

限制相關ip訪問站點

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

在ErrorLog上方添加一段

<Directory "data/www">(網站根目錄)

        AllowOverride None

        Options None

        Order allow,deny (先allow后deny是黑名單,不允許ip為127.0.0.1訪問)

        Allow from all

        Deny from 127.0.0.1

    </Directory>

    <filesmatch "(.*)admin(.*)">(訪問后臺)

        Order deny,allow (先deny后allow是白名單,允許127.0.0.1訪問))

        Deny from all

        Allow from 127.0.0.1

    </filesmatch>

測試 curl -x127.0.0.1:80 -I www.test.com

或者

curl -x127.0.0.1:80 -I www.test.com/admin.php

假如  admin.php 被兩個配置段都匹配了的話,那就選精準度更高的。

這兩個就是下面這個filesmatch 精準度高,所以以它為準。所以127.0.0.1能夠訪問www.test.com/admin.php

2.5 Apache禁止解析php

ls -l /data/www/data

查看apache的數組都是daemon

<Directory /data/www/data>

        php_admin_flag engine off  (關閉php解析引擎)

        <filesmatch "(.*)php">  (禁止訪問或下載php文件)

                Order deny,allow

                Deny from all

           

        </filesmatch>

</Directory>

2.6Apache禁止指定user_agent

在RewriteRule下一行添加

 RewriteCond %{HTTP_USER_AGENT} ^.*curl.* [NC,OR]    (匹配curl相關的,NC不區分大小寫,OR或者)

   RewriteCond %{HTTP_USER_AGENT} ^.*chrome* [NC]   (匹配chrome相關的,NC不區分大小寫,啟動后瀏覽器訪問不了網站,測試完要在前面加上#去除禁止)

   RewriteRule .* - [F]  (forbidden,禁止以上兩種相關的求情)

:wq

apachectl restart

2.7Apache通過rewrite限制某個目錄

 RewriteRule .* - [F]  下一行添加

RewriteCond %{REQUEST_URI} ^.*/tmp/.* [NC] (限制訪問tmp目錄)

RewriteRule .* - [F]

2.8php.ini配置文件詳解

php的配置文件路徑 /usr/local/php/etc/php.ini(用;作注釋符號)

修改

disable functions =disable_functions=eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfs (禁用的高風險函數)

display_errors = off

log_errors = On

error_log = /usr/local/php/logs/php_errors.log (若目錄logs不存在,就新建mkdir /usr/local/php/logs  然后修改權限 chmod 777 !$)

errors_reporting = E_ALL & ~E_NOTICE

:wq

apachectl graceful

(錯誤日志不會暴露,生成存在logs目錄下)

繼續修改

php、apache要訪問一個網站,若網站有漏洞,被別人獲得權限,要限定死在某個目錄下

open_basedir =/data/www:/tmp (網站程序所在目錄)

或者在apache下定義(先注釋了open_basedir),php.ini只能配置一個,apache可以配置多個

vim /usr/local /apache2/conf/extra/httpd-vhosts.conf

在<Directory "/data/www">上一方添加

php_admin_value open_basedir "/data/www/:/tmp/"

:wq

2.9php擴展模塊如何安裝

cd /usr/local/src/php-5.4.36

ls

cd ext/ (源碼包都在ext下)

ls

例子 編譯模塊curl

cd curl/

ls

/usr/local/php/bin/phpize

ls (生成了configure文件)

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

生成了curl.so

/usr/local/php/bin/php/ -i |grep extension_dir

vim /usr/local/php/etc/php.ini

在;extension=php_…最下面添加

extension=curl.so

:wq

3.0mysql配置講解

mysql配置文件

vim /etc/my.cnf

核心配置是mysqld部分

port 端口

socket 監聽的socket

skip-locking 是否過濾掉lock,不鎖

key-buffer-size 索引塊緩沖區

(可以通過mysql調優的帖子參考調值大小

www.aminglinux.com/bbs/thread-5758-1-1.html)

max-allowed-packet 允許最大的包

table-open-cache…

另外還可能用到的log-bin、server-id、interactive_timeout、wait timeout、long_query_time、log_slow_queries=/data/mysql/slow.log

3.1 mysql的root密碼重置

mysqladmin -uroot password '密碼'  將mysql設置一個登錄密碼

命令 quit 退出mysql模式

重置密碼

vim /etc/my.cnf

在mysqld最下面添加

skip-grant

:wq

/etc/init.d/mysqld restart 重啟

mysql 登錄mysql  不需要密碼

use mysql

update user set password=password('新密碼')where user='root; 設置了新密碼

vim /etc/my.cnf

刪去skip-grant

:wq

/etc/init.d/mysqld restart 重啟

mysql

mysql -uroot -p新密碼  登錄mysql

3.2mysql登錄

遠程登錄mysql

mysql -uroot -h292.168.11.160 -P3306 -p密碼  3306端口

授權ip

在mysql模式里

grant all on *.* to 'root' @'192.168.11.160' identified by '密碼';  授權ip192…登錄

select user(); 查看登錄當前用戶

3.3mysql常用操作-1

庫--》表--》行--》字段

show databases; 查看mysql里有哪些庫

庫information_schema、discuz、mysql、test

use 庫名 切換庫

select database();查看當前數據庫

select version();查看版本

show tables; 查看表

desc 表名; 查看表里面的字段

show create table 表名\G;查看表的創建

create database A;創建庫A

use A

create table B('id' int(4), 'name' char(40)) ENGINE=MyISAM  DEFAULT CHARSET=gbk;

'為反引號,創建表B,字段為 id,格式int,長度4位,字段name,格式char,最長40位,engine為myisam,字符集Default charset為gbk

show tables;

desc B;

在表里插入數據

insert into B values(1,'aming');id為1,name改為aming

delete from B where name='aming'; 把name為aming那行刪去

truncate table A.B; 清空表B

drop table B;刪除表B

drop database A ;刪除庫A

3.4mysql常用操作2

授權 grant all on 數據庫名……

flush privileges ;刷新權限

show processlist;查看數據庫里的隊列

查看mysql 的錯誤日志

cd /data/mysql

ls

.err文件就是錯誤日志

tail .err 查看錯誤日志

3.5mysql備份與恢復

可以遠程備份也可以本地備份

mysqldump -uroot -p密碼 discuz >/data/discuz.sql  備份數據庫discuz

mysql -uroot -p密碼 discuz < /data/discuz.sql恢復備份


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安阳县| 青铜峡市| 宜良县| 丰城市| 湖北省| 靖州| 镇原县| 兰溪市| 沭阳县| 徐闻县| 同江市| 临高县| 济宁市| 宁城县| 余庆县| 葵青区| 河西区| 南乐县| 东乡县| 巧家县| 蒙自县| 稻城县| 大邑县| 皮山县| 息烽县| 资中县| 永春县| 高密市| 镇赉县| 离岛区| 梅州市| 萝北县| 咸阳市| 昌邑市| 镶黄旗| 城固县| 凌海市| 勐海县| 麦盖提县| 保靖县| 龙里县|