第一部分:服務器配置php
服務器配置以下:雙核,4G內存,流量按帶寬付費,安裝完成後,SSH是被默認安裝了的html
更新與升級源:mysql
sudo apt-get upgradelinux
sudo apt-get update web
一個升級源,一個更新源,執行順序是有必定的講究的redis
若是記不住執行順序,反覆都執行一遍sql
另外,阿里雲有些源是不通的,這個不要緊,不用去管數據庫
第二部分:安裝LAMP環境apache
1:安裝apacheubuntu
sudo apt-get install apache2
安裝完成後,程序被安裝在:/etc/apache2,apache的各類配置也是在這個目錄裏修改
www目錄唄安裝在/var/www/html
瀏覽器訪問服務器:會出現/var/www/html/index.html中的內容
以命令:ps -aux 查看系統中的進程,會發現以下三條
root 3531 0.0 0.0 71516 2596 ? Ss 13:03 0:00 /usr/sbin/apache2 -k start
www-data 3533 0.0 0.1 426304 4844 ? Sl 13:03 0:00 /usr/sbin/apache2 -k start
www-data 3534 0.0 0.1 491840 4856 ? Sl 13:03 0:00 /usr/sbin/apache2 -k start
說明:apache只起到了請求轉發的做用,還得須要一個解析器來解析咱們寫的後臺腳本,若是這個時候沒有安裝php的時候,咱們在html目錄中寫的.php文件會以原始文件的形式被傳送到客戶端,而不會解析。
在 /var/www/html下新建index.php
<?php
echo 'hello,world';
?>
未安裝php以前,源文件方式展現
2:安裝php
sudo apt-get install php5
說明:php是對我們寫的php腳本進行解析。這時再去訪問html中的.php文件的時候,這種文件會被解析成html傳送到客戶端
3:安裝mysql
sudo apt-get install mysql-server
設置root賬號的密碼
本機測試是否安裝成功:mysql -h127.0.0.1 -uroot -p123456
配置遠程可訪問權限:ubuntu安裝完mysql以後默認只容許本地訪問
在/etc/mysql目錄下更改這個文件my.cnf
sudo vim my.cnf,註釋掉 bind-address
esc+i,開啓vim輸入模式
esc+shift+:,退出編輯模式
wq,寫入文件並保存
重啓mysql服務器:sudo service mysql restart
mysql中配置遠程可訪問權限:在my.cnf中配置完成後還得在mysql中配置
mysql -uroot -p123456
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
4:安裝svn客戶端
sudo apt-get install subversion
關於svn的具體安裝教程以下:https://www.linuxidc.com/Linux/2016-08/133961.htm
5:新建站點
1:首次使用配置好的apache,先配置ServerName
打開apache2目錄下的apache.conf
添加:ServerName 127.0.0.1
2:在 /etc/apache2/sites-available目錄下新建一個新站點的配置文件
abc.com.conf
修改配置內容
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName abc.com
DocumentRoot /var/www/html/abc/
ErrorLog ${APACHE_LOG_DIR}/abc_error.log
CustomLog ${APACHE_LOG_DIR}/abc_access.log combined
</VirtualHost>
不要複製這裏的配置信息,也不要簡單的複製:000-default.conf裏的內容
1.這裏的信息沒有註釋,而缺乏註釋的配置文件是不起做用的
2.000-default.conf裏把最重要的ServerName:這個配置給註釋掉了
3:使站點生效
a2ensite abc.com.conf
4:重啓apache
service apache2 reload
5:禁止顯示目錄結構
/etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
去掉紅色文字部分便可
6:服務器優化
修改apache2配置/etc/apache2/apache2.conf
MaxKeepAliveRequests 1000
reload apache:service apache2 reload
修改php5配置/etc/php5/apache2/php.ini
memory_limit=1024MB
upload_max_filesize=20MB
7:上傳源碼
svn co svn://ip地址/目錄
8:安裝redis
sudo apt-get install redis-server
sudo apt-get install php5-redis
http://www.itnose.net/detail/6142703.html
redis-cli -p 6379 確認一下是否安裝成功
或者phpinfo()看一下是否有redis擴展
9:安裝curl,安裝GD庫
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl 安裝curl
apt-get install php5-gd 安裝gd庫,使的php可以處理圖片
apt-get install php5-mysql(php默認是沒有啓用php-mysql擴展的,全部在使用mysql_connect鏈接的時候,什麼反應都沒有);
phpinfo()看看是否有curl擴展
10:定時器
從svn上下載定時器要執行的代碼
crontab -e
* */1 * * * sh /var/www/html/Crontab/start.sh
11:RDS(阿里雲數據庫)
必定要設置白名單,將服務器添加到白名單,不然,死的那個快啊
另外給Runtime這個目錄寫權限:chmod -R 0777 Runtime
第二部分:CDN配置
第三部分:負載均衡配置
第四部分:mysql數據庫存儲emoji表情
阿里雲的RDS支持emoji表情:http://www.bubuko.com/infodetail-921495.html
set character_set_client = utf8mb4;
set character_set_connection = utf8mb4;
set character_set_database = utf8mb4;
set character_set_results = utf8mb4;
set character_set_server = utf8mb4;
在阿里雲上的話,直接這麼操做:http://m.blog.csdn.net/article/details?id=46537499
第五部分:新增數據盤
實例若是是華北2A區,則數據盤已定要選擇華北2A區
選擇完成後,要在控制檯掛載
掛載後,分區,格式化使用
將數據盤應用到工程項目中,經過創建軟連接的形勢:ln -s /data/upload upload
一些應該注意的地方
php若是不提示錯誤應該怎麼辦?
PHP編碼出錯不提示,這對於開發來講,是很不方便的。下面講解如何開啓錯誤提示步驟:1. 打開php.ini文件。以個人ubuntu爲例,這個文件在: /etc/php5/apache2 目錄下。2. 搜索並修改下行,把Off值改爲Ondisplay_errors = Off3. 搜索下行error_reporting = E_ALL & ~E_NOTICE或者搜索:error_reporting = E_ALL & ~E_DEPRECATED修改成error_reporting = E_ALL | E_STRICT4. 修改Apache的 httpd.conf,以個人 Ubuntu 爲例, 這個文件在:/etc/apache2/ 目錄下,這是一個空白文件。添加如下兩行:php_flag display_errors onphp_value error_reporting 20395. 重啓Apache,就OK了。重啓命令: :sudo /etc/init.d/apache2 restart