mysql原始碼安裝步驟如下
2、建立mysql賬號 (useradd mysql -s /sbin/nologin)
3、安裝 ncurses-devel(yum install -y ncurses-devel)
4、cmake編譯安裝原始碼
5、修改配置檔案
部分安裝過程如下
[root@linux src]# useradd mysql -s /sbin/nologin
[root@linux src]# yum install -y ncurses-devel
[root@linux src]# mkdir -p /usr/local/mysql/var
[root@linux src]# chown -rf mysql:mysql /usr/local/mysql
[root@linux src]# cd mysql-5.6.19/
[root@linux mysql-5.6.19]# cmake . -dcmake_install_prefix=/usr/local/mysql -dmysql_datadir=/usr/local/mysql/var -dsysconfdir=/etc
[root@linuxprobe mysql-5.6.19]# make
[root@linuxprobe mysql-5.6.19]# make install
-dcmake_install_prefix 引數用於定義資料庫服務程式的儲存目錄,
-dmysql_datadir 引數用於定義真實資料庫檔案的目錄,
-dsysconfdir 則是定義mysql資料庫配置檔案的儲存目錄
先刪除/etc目錄中的預設配置檔案,
然後在mysql資料庫程式的儲存目錄scripts內找到乙個名為mysql_install_db的指令碼程式,執行這個指令碼程式並使用--user引數指定mysql服務的對應賬號名稱(在前面步驟已經建立),使用--basedir引數指定mysql服務程式的儲存目錄,使用--datadir引數指定mysql真實資料庫的檔案儲存目錄,這樣即可生成系統資料庫檔案,也會生成出新的mysql服務配置檔案
[root@linux mysql-5.6.19]# rm -rf /etc/my.cnf
[root@linux mysql-5.6.19]# cd /usr/local/mysql
[root@linux mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/var
系統新生成的mysql資料庫配置檔案鏈結到/etc目錄中,然後把程式目錄中的開機程式檔案複製到/etc/rc.d/init.d目錄中
[root@linux mysql]# ln -s my.cnf /etc/my.cnf
[root@linux mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@linux mysql]# chmod 755 /etc/rc.d/init.d/mysqld
修改為mysql資料庫程式的儲存目錄和真實資料庫的檔案內容
vim /etc/rc.d/init.d/mysqld
46 basedir=/usr/local/mysql
47 datadir=/usr/local/mysql/var
[root@linuxprobe mysql]# service mysqld start
starting mysql. success!
[root@linuxprobe mysql]# chkconfig mysqld on
把命令所儲存的目錄永久性地定義到path變數中
vim /etc/profile
71 fi
72 fi
73 done
74 export path=$path:/usr/local/mysql/bin
75 unset i
mysql資料庫服務程式還會呼叫到一些程式檔案和函式庫檔案。由於當前是通過原始碼包方式安裝mysql資料庫,因此現在也必須以手動方式把這些檔案鏈結過來
[root@linux mysql]# mkdir /var/lib/mysql
[root@linux mysql]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@linux mysql]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
[root@linux mysql]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
mysql資料庫進行初始化
[root@linux mysql]# mysql_secure_installation
...............
....
.......
nginx原始碼安裝見:
本篇繼安裝nginx詳細介紹執行nginx使用者問題
[root@ ~]# ps -ef | grep nginx
root 3390 3359 0 21:04 pts/0 00:00:00 grep --color=auto nginx
root 17009 1 0 nov29 ? 00:00:00 nginx: master process ./nginx
nginx 96283 17009 0 dec02 ? 00:00:00 nginx: worker process
nginx 96285 17009 0 dec02 ? 00:00:00 nginx: worker process
nginx 96286 17009 0 dec02 ? 00:00:00 nginx: worker process
nginx 96287 17009 0 dec02 ? 00:00:00 nginx: worker process
ps檢視nginx發現master程序為root使用者執行,worker程序為nginx使用者執行
檢視nginx配置檔案 ./conf/nginx.conf,檔案前幾行如下。安裝nginx完後預設執行worker程序為nobody使用者,如需更改其他使用者執行,將nobody注釋,做出如下修改即可
worker_prosesses 為執行worker程序數,該數值根據伺服器的cpu個數確定,一般情況可設定worker數等於cpu格式
#user nobody;
user nginx;
worker_processes 4;
設定完執行worker程序的使用者,直接網頁訪問nginx,會出現404 forbidden
該原因為nginx使用者沒有許可權訪問nginx靜態頁面檔案,
需將nginx安裝目錄/usr/local/nginx檔案許可權修改為nginx:nginx
[root@ nginx]# ll
total 4
drwx------ 2 nginx nginx 6 nov 29 22:36 client_body_temp
drwxr-x--- 2 nginx nginx 4096 dec 2 20:07 conf
drwx------ 2 nginx nginx 6 nov 29 22:36 fastcgi_temp
drwxr-x--- 2 nginx nginx 58 nov 29 22:53 html
drwxr-x--- 2 nginx nginx 55 nov 29 22:38 logs
drwx------ 2 nginx nginx 6 nov 29 22:36 proxy_temp
drwxr-x--- 2 nginx nginx 18 nov 29 22:26 sbin
drwx------ 2 nginx nginx 6 nov 29 22:36 scgi_temp
drwx------ 2 nginx nginx 6 nov 29 22:36 uwsgi_temp
驗證使用者(/sbin/nologin使用者)對檔案是否有訪問許可權方法
sudo -u nginxuser ls /var/www/project
# 上面即驗證nginxuser對/var/www/project資料夾是否有訪問許可權
原始碼安裝lnmp環境
做web幾年了 一直在windows平台開發,最近迫切感到liunx的重要性,許多東西必須在liunx上才能應用,所以開始學習liunx,那麼第一步當然是安裝系統,我這裡選擇centos7 第一步 安裝mysql mysql如果原始碼安裝貌似是比較複雜 這裡網上大部分是採用yum 安裝的 我也就yu...
原始碼安裝LNMP
1 編譯安裝nginx 2 編譯安裝mysql tar xzvf mysql mysql 5.1.34.tar.gz c usr local src 如果不存在mysql 使用者,則建立之 configure prefix usr local mysql make make install rm r...
LNMP 原始碼安裝
參考文件 安裝的時候提示要安裝zlib庫 yum y install zlib zlib devel 原始碼安裝 的時候錯誤太多,到最後給我搞崩潰了 我就直接 安裝了 新增 epel 源 rpm uvh新增 remi 源 rpm uvh安裝 php yum enablerepo remi,remi ...